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类方法将在不同的编程模式中使用,因为它不像内置函数那样触发控制块。