有时候,如果一个Block的行和列都很多,用户都不知道自己当前选中的是哪一行。
虽然有CURRENT_RECORD_INDICATOR可以判断,但是那只是第一个Item标识而已。
所以,对于某些Form,可能需要实现光标选中当前行就整行都是高亮的效果:
方法1:
用代码控制:
1 在WHEN-NEW-RECORD-INSTANCE(PRE-RECORD应该也行)设置当前整行为高亮:APP_RECORD.HIGHLIGHT('DATA_SPECIAL');
2 在POST-RECORD将颜色设置回去原来的:APP_RECORD.HIGHLIGHT('DATA');
3 要别的高亮效果也行,自己在Form的Visual Attributes增加要的效果就可以了。
---------
语法:
APP_RECORD.HIGHLIGHT:
procedure APP_RECORD.HIGHLIGHT(
value varchar2/number);
调用这个方法调用内建程序DISPLAY_ITEM来改变当前记录TEXT_ITEM,LIST的视觉属性。对于RECORDS_DISPLAYED属性为1的记录它不做任何事。为了高亮数据,传递‘SELECTED_DATA‘,关闭高亮显示传递’DATA’.你可以传递任何视觉属性的名称。
方法2:
用Form设置(推荐这种方法):
设置Form的DATA BLOCKs属性:
Records-->Current Record Visual Attribute Group
值:DATA_SPECIAL
备注:这个值也是从Visual Attributes来的。