TABLE CONTROL 转载http://blog.csdn.net/yandong_song/article/details/11143355

自己用table control向导画了一个表格,用向导画好,在里面填写数据,拉滚动栏的时候数据丢失了!

这是为什么呢?

自动产生的代码:

MODULE EMPLOYEEINFO_MODIFY INPUT.
  MODIFY ZEMPLOYEE
    FROM ZEMPLOYEE
    INDEX EMPLOYEEINFO-CURRENT_LINE.
ENDMODULE.

 

经观察,需要在这段代码做一些修改

MODULE EMPLOYEEINFO_CHANGE_TC_ATTR OUTPUT.
  DESCRIBE TABLE ZEMPLOYEE LINES WA_LINES.
  EMPLOYEEINFO-LINES = WA_LINES + 20." 额外增加20行
ENDMODULE

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

MODULE EMPLOYEEINFO_MODIFY INPUT.

“判断ZEMPLOYEE的行数是否大于current_line,大于就修改内表zemployee,小于就往zemployee添加数据
  IF WA_LINES >= EMPLOYEEINFO-CURRENT_LINE.
  MODIFY ZEMPLOYEE
    FROM ZEMPLOYEE
    INDEX EMPLOYEEINFO-CURRENT_LINE.
  ELSE.
    APPEND ZEMPLOYEE TO ZEMPLOYEE.  "你的内表和工作区
  ENDIF.
ENDMODULE.

这样修改以后再拉滚动栏或者其他地方数据就不会丢失了

原文地址:https://www.cnblogs.com/hdchen/p/8279854.html