2012年6月25日星期一

ADF_147:Table 组件使用指南之十七:根据EO的状态设置Row的背景色

运行环境:JDeveloper 11.1.2.1.0 + Oracle Database 10g Express Edition 10.2.0.1。

用户在修改某一个行记录时,可以根据EO的状态显示不同的背景色。
这样用户可以清楚的知道哪些记录是正在修改的,哪些记录是新增的,哪些是已经提交的。

在Column的组件中增加inlineStyle属性如下:
inlineStyle="#{row.row.entities[0].entityState == 0 ? 'background-color:red;' : (row.row.entities[0].entityState == 2 ? 'background-color:orange;' : '')}"

说明:
(1)row - 代表每一个行Binding对象。
(2)row.row - 代表每一个行实例对象。
(3)row.row.entities[0] - 代表行实例对象对应的第1个实体对象,(一行可能对应多个EO,因为一个VO可能对应多个EO)
(4)EO的状态信息:0,新增的;1,未改动的; 2,改动的;-1,初始化的。

运行效果如下:
(1)修改一条记录,Row显示橘色。

(2)新增一条记录,Row显示红色。


Project 下载:ADF_Table(2).7z

参考文献:
1. https://blogs.oracle.com/adf/entry/highlighting_new_rows_in_adf
2. http://andrejusb.blogspot.com/2010/04/changed-row-highlighting-in-oracle-adf.html
3. http://www.oracle.com/technetwork/developer-tools/adf/learnmore/august2011-otn-harvest-457288.pdf

没有评论: