修改tab control读写属性实例

来源:互联网 发布:javascript犀牛书pdf 编辑:程序博客网 时间:2024/05/23 23:26

 REPORT  ztest_pillar.
DATAok_code TYPE sy-ucomm.
DATAsave_ok TYPE sy-ucomm.
DATAnums TYPE i.
"定义内表存储数据库数据
DATAsp2 LIKE TABLE OF spfli WITH HEADER LINE.
"定义单结构记录
DATAsp1 TYPE spfli.
data  ACOL type SCXTAB_COLUMN.
*data  ACOL like  tab_crl-cols.
"增加内表数据
SELECT INTO CORRESPONDING FIELDS OF TABLE sp2 FROM spfli.
"直接调用窗口
CALL SCREEN 100.
"定义表控制对象
CONTROLS tab_crl TYPE TABLEVIEW USING SCREEN 100.
"输出数据看内表有无改变
LOOP AT sp2.
  WRITE/ sp2-carridsp2-connid.
ENDLOOP.
*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
  save_ok ok_code.
  CLEAR ok_code.
  CASE save_ok.
    WHEN 'EXIT'.
      LEAVE PROGRAM.
    WHEN 'READWR'.
       LOOP AT TAB_CRL-COLS INTO ACOL WHERE INDEX GT 0.
         IF sy-tabix 1.
           "单击后将第一列永远变为只读
           acol-screen-input '0'.
         else.
           IF acol-screen-input '0'.
             acol-screen-input '1'.
           ELSEIF acol-screen-input '1'.
             acol-screen-input '0'.
           ENDIF.
         ENDIF.
       modify tab_crl-cols FROM acol INDEX sy-tabix.
       ENDLOOP.
  ENDCASE.
ENDMODULE.                 " USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*
*&      Module  STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
  SET PF-STATUS 'STATUS1'.
*  SET TITLEBAR 'xxx'.
"给tabcontrol增加控制条----------------------------------------------------
  IF nums 0.
    DESCRIBE TABLE sp2 LINES nums.
    tab_crl-lines nums.
  ENDIF.
ENDMODULE.                 " STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  FILLTAB1  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE filltab1 OUTPUT.
  READ TABLE sp2 INTO sp1 INDEX tab_crl-current_line.
ENDMODULE.                 " FILLTAB1  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  READTAB1  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE readtab1 INPUT.
  MODIFY sp2 FROM sp1 INDEX tab_crl-current_line.
ENDMODULE.                 " READTAB1  INPUT

原创粉丝点击