Oracle之APEX深入开发指南 联系客服

发布时间 : 星期二 文章Oracle之APEX深入开发指南更新完毕开始阅读85054c20f242336c1eb95e85

Oralce之APEX开发指南

1、 首先在Page页面HTML Header and Body Attribute属性中定义CSS

2、 在Page页属性JavaScript:Excute When Page Loads

document.getElementById(\

3、 Coding截图

当然上述只是一个很简单的例子来介绍如何去使用CSS控制APEX对象.

在APEX4.2.5版本中已经有带滚动条的模板可选择了,但依然还是有缺陷,Report header Row不能固定,它会随滚动条向下滚动而被覆盖

Oralce之APEX开发指南

2.7. 图表、报表

Application Express3.0之后支持HTML5 Chart 与Flash Chart,支持2D/3D的柱状图、水平条形图、饼图和圆环图、折线图、K线图、计量表、甘特图。(这几个图表插件Buy from AnyChart)

下面实例step by step 发柱状和饼图。

准备工作:创建一个Application,在新的Application中创建一个页面Page1 在新的Page1中创建一个HTML区域 命名为new search1(序列号50)。Pl/sql登录往table:jjl_test里插入值:

1) 在区域new search1中右键选择 Create Sub Region,弹出的页面中选择 Chart,点

击Next,选择ChartType:Column/3D Column,Chart Rendering:HTML5 Chart

Oralce之APEX开发指南

2) 定义需要创建的Chart:Display Attributes,如图

上图中的 Color Scheme:是Chart的显示颜色主题,也可支持自设颜色。 Show Grid:Y-axis 设置Y轴显示网络

Show ints: 设置当鼠标移动到柱状图上时是否显示提示信息。 Show Labels:设置Chart的柱状条下是否显示名称 Show Values: 设置是否显示柱状条的值

3) 点击Next 设置Source,即该Chart的数据源。数据源的SQL有两种写法,第一种是

直接赋SQL。

SELECT NULL url,

Oralce之APEX开发指南

to_char(jt.login_date, 'MON RRRR') label ,

SUM(decode(jt.login_name, 'admin', jt.login_count, 0)) \ SUM(decode(jt.login_name, 'developer', jt.login_count, 0)) \ SUM(decode(jt.login_name, 'end user', jt.login_count, 0)) \ SUM(decode(jt.login_name, 'super admin', jt.login_count, 0)) \ FROM jjl_test jt

GROUP BY to_char(jt.login_date, 'MON RRRR')

配置图表的Source的SQL,第一列为URL,即点击柱状条的一个链接,第二列为2)里的Show Labels的Label值.后面的SQL例为2)里的Show Values的Value

第二种写一个pl/sql表达式

CREATE or REPLACE function login_data_fn l_qry VARCHAR2(32767); BEGIN

l_qry := 'SELECT null, to_char(jt.login_date, 'MON RRRR') label ';

--Loop through the login_name and add a sum(decode...) column with column alias FOR r1 IN (SELECT DISTINCT login_name FROM jjl_test) LOOP

l_qry := l_qry || 'sum(decode(jt.login_name,''' || r1.login_nmae || ''', jt.login_count,0)) ' || r1. login_nmae || ','; END LOOP;

--Trim off trailing comma l_qry := rtrim(l_qry, ',');

--Append the rest of the query

l_qry := l_qry || 'FROM jjl_test jt GROUP BY to_char(jt.login_date, ''' ||'MON RRRR'||''')';

RETURN l_qry; END login_data_fn; 运行效果图: