一个小技巧:工资超过5000元的员工,用红色指示

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

需求:

在很多系统里面要求对不同的状态采取不同的颜色给用户提示.

例如:有一张工资单,当某个员工的工资超过5000时,用户需要系统能用红色来指示员工的姓名和工资.

做法:

我们新做一张form,按常规建好block和item并建一个visualattributesv1(backgroundcolor=red).在相应的blocklevel上新建一个post-querytrigger并编写代码如下:

----------------------

...

--假如工资(block.item1)大于5000

ifblock.item15000then

--指示出相应的员工姓名(block.item2)

set_item_instance_PRoperty('block.item2',To_Number(:SYSTEM.TRIGGER_RECORD),VISUAL_ATTRIBUTE,'v1');

--指示出相应的工资(block.item3)

set_item_instance_property('block.item3',To_Number(:SYSTEM.TRIGGER_RECORD),VISUAL_ATTRIBUTE,'v1');

endif;

------------------------

compileandruntheform.查询员工工资时,大于5000的员工信息被系统用红色背景指示.

题外思考:1.朋友们想一想,为什么不用set_item_propertybuild-inprocedure呢?

2.:systemvariables都有哪些内容呢?

参考:formonlinehelpdocumentandhttp://www.tek-tips.com

set_item_property会整行变成红色,而不是工资超出5000元的员工变红色。

其它系统变量,可以在forms的help里,输入system就可以查出。

set_item_property:假如是表格的话不能实现你说的功能。

SYSTEM.BLOCK_STATUS

SYSTEM.COORDINATION_OperaTION

SYSTEM.CURRENT_BLOCK

SYSTEM.CURRENT_DATETIME

SYSTEM.CURRENT_FORM

SYSTEM.CURRENT_ITEM

SYSTEM.CURRENT_VALUE

SYSTEM.CURSOR_BLOCK

SYSTEM.CURSOR_ITEM

SYSTEM.CURSOR_RECORD

SYSTEM.CURSOR_VALUE

SYSTEM.DATE_THRESHOLD*

SYSTEM.EFFECTIVE_DATE*

SYSTEM.EVENT_WINDOW

SYSTEM.FORM_STATUS

SYSTEM.LAST_QUERY

SYSTEM.LAST_RECORD

SYSTEM.MASTER_BLOCK

SYSTEM.MESSAGE_LEVEL*

SYSTEM.MODE

SYSTEM.MOUSE_BUTTON_PRESSED

SYSTEM.MOUSE_BUTTON_SHIFT_STATE

SYSTEM.MOUSE_ITEM

SYSTEM.MOUSE_CANVAS

SYSTEM.MOUSE_X_POS

SYSTEM.MOUSE_Y_POS

SYSTEM.MOUSE_RECORD

SYSTEM.MOUSE_RECORD_OFFSET

SYSTEM.RECORD_STATUS

SYSTEM.SUPPRESS_WORKING*

SYSTEM.TAB_NEW_PAGE

SYSTEM.TAB_PREVIOUS_PAGE

SYSTEM.TRIGGER_BLOCK

SYSTEM.TRIGGER_ITEM

SYSTEM.TRIGGER_RECORD

FW:没错,set_item_property只能使整行变红.

通过这个例子,能学到关于set_item_property与set_item_instance_property的区别以及SYSTEM变量的用法.

呵呵,大家很积极.希望能更多的人参与到一些比较实际的技术讨论中来,这也是我发这篇文章的用意.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航