T100一些常用方法函数

IF DIALOG.getFieldTouched("customer.cust_address") THEN

IF DIALOG.getFieldTouched("customer.*") THEN

IF DIALOG.getFieldTouched("*") THEN

当传递一个简单的星号(*)给方法时,运行时系统将检查对话框使用的所有字段:

 

 

CALL DIALOG.setFieldTouched("customer.cust_city", TRUE)

CALL DIALOG.setFieldTouched("customer.*", FALSE)

如果参数是一个后跟点星号的屏幕记录,则该方法检查属于该屏幕记录的所有字段的修改标志。你通常使用这个来重置一组字段的触摸标志,在修改保存到数据库后,回到对话框的初始状态:

 

 

 LET buff = DIALOG.getFieldBuffer("customer.cust_name")

 

 

DIALOG.getCurrentRow("sa_ordlist") 

使用getCurrentRow()方法检索INPUT ARRAY或DISPLAY ARRAY列表的当前行。

 

 

 

CALL DIALOG.setCurrentRow("sa_custlist", x)

使用setCurrentRow()移动到不同的行不会像FGL_SET_ARR_CURR()内置函数那样触发诸如BEFORE row / AFTER row这样的控制块。

setCurrentRow()方法不会设置焦点;您需要使用NEXT FIELD将焦点设置为一个列表。(这适用于显示阵列以及输入阵列。)

 

 

 

 

 

FGL_SET_ARR_CURR(int) 

这个函数通常用于在ON ACTION或ON KEY块中控制DISPLAY阵列或INPUT阵列的导航。该函数还可以在BEFORE DISPLAY或BEFORE INPUT块中使用,以便在对话框开始时跳转到特定的行。您不应该在其他上下文中使用此函数。

执行像beforerow和INPUT ARRAY中的字段/行验证这样的控制块,就像用户移动到另一行一样,除非在BEFORE DISPLAY或BEFORE INPUT中调用函数。

当使用此函数到达新行时,第一个可编辑字段将获得焦点。

FGL_SET_ARR_CURR()函数的替代方法是ui.Dialog.setCurrentRow()方法;但是,dialog类方法将在不同的编程模式中使用,因为它不像内置函数那样触发控制块。

 

posted @ 2022-07-13 14:43  AaronLi  阅读(503)  评论(0编辑  收藏  举报