Table Control多表设计
Table Control多表设计出现了一个问题,那就是只有其中一个表的垂直滚动有效,其而他的都失效了,这种问题将会给用户带来极大的不便,如果手动增加上下翻页,虽然可以解决问题,但是还是不便。
针对这种现象,并没有什么好的解决方法。网上也曾提到过类似问题,但都没有具体的解决方案。在标准程序中,也没有这样的现象,例如:事务码:me23n()为此,我通过Table Control向导设计来测试多个表格是否也有这种问题的存在。最终通过一个很简单的测试程序也不会有这样的问题,我以为出现这样种现象,很有可能在于程序设计上没有处理好!为了再次证明程序设计上存在的不足,又通过非向导Table Control来设计来测试。程序上基本与Table Control向导设计自动生成的代码相当。(效果如图)
通过TC向导设计:
Flow Logic:
PROCESS BEFORE OUTPUT.
*&SPWIZARD: PBO FLOW LOGIC FOR TABLECONTROL 'MYTC' MODULE MYTC_CHANGE_TC_ATTR. *&SPWIZARD: MODULE MYTC_CHANGE_COL_ATTR. LOOP AT ITAB WITH CONTROL MYTC CURSOR MYTC-CURRENT_LINE. MODULE MYTC_GET_LINES. *&SPWIZARD: MODULE MYTC_CHANGE_FIELD_ATTR ENDLOOP.
*&SPWIZARD: PBO FLOW LOGIC FOR TABLECONTROL 'MYITEM' MODULE MYITEM_CHANGE_TC_ATTR. *&SPWIZARD: MODULE MYITEM_CHANGE_COL_ATTR. LOOP AT ITEM WITH CONTROL MYITEM CURSOR MYITEM-CURRENT_LINE. MODULE MYITEM_GET_LINES. *&SPWIZARD: MODULE MYITEM_CHANGE_FIELD_ATTR ENDLOOP.
PROCESS AFTER INPUT.
*&SPWIZARD: PAI FLOW LOGIC FOR TABLECONTROL 'MYTC' LOOP AT ITAB. CHAIN. FIELD ITAB-MATNR. FIELD ITAB-ERSDA. FIELD ITAB-ERNAM. FIELD ITAB-LAEDA. FIELD ITAB-AENAM. FIELD ITAB-VPSTA. FIELD ITAB-PSTAT. FIELD ITAB-LVORM. FIELD ITAB-MTART. FIELD ITAB-MBRSH. FIELD ITAB-MATKL. FIELD ITAB-BISMT. FIELD ITAB-MEINS. MODULE MYTC_MODIFY ON CHAIN-REQUEST. endchain. FIELD ITAB-MARK MODULE MYTC_MARK ON REQUEST. ENDLOOP. MODULE MYTC_USER_COMMAND. *&SPWIZARD: MODULE MYTC_CHANGE_TC_ATTR. *&SPWIZARD: MODULE MYTC_CHANGE_COL_ATTR.
*&SPWIZARD: PAI FLOW LOGIC FOR TABLECONTROL 'MYITEM' LOOP AT ITEM. CHAIN. FIELD ITEM-MANDT. FIELD ITEM-WERKS. FIELD ITEM-LGORT. FIELD ITEM-LGOBE. FIELD ITEM-SPART. FIELD ITEM-XLONG. FIELD ITEM-XBUFX. FIELD ITEM-DISKZ. FIELD ITEM-XBLGO. endchain. FIELD ITEM-MARK MODULE MYITEM_MARK ON REQUEST. ENDLOOP. MODULE MYITEM_USER_COMMAND. *&SPWIZARD: MODULE MYITEM_CHANGE_TC_ATTR. *&SPWIZARD: MODULE MYITEM_CHANGE_COL_ATTR. |
阅读(1687) | 评论(0) | 转发(0) |