Table Control 的一些控制

一、Table Control 响应双击事件 

        第一步:属性选择‘响应双击'

        第二步:在STATUS里面F2要写成PICK,这样双击的UCOMM就是PICK了

        第三步:加上如下代码就可以得到双击的行和列

         data: l_row type i.
data: l_field type char30.

  CASE OK_CODE.
  WHEN 'PICK'.
      get cursor line l_row.
    get cursor field l_field.

  endcase.

 

二、Table Control 控制单行是否可编辑

  LOOP AT   T_DATA
       INTO WA_DATA
       WITH CONTROL T_CTR1
       CURSOR T_CTR1-CURRENT_LINE.
    MODULE T_CTR1_GET_LINES.   "在这个MODULE里面加如下代码
*&SPWIZARD:   MODULE T_CTR1_CHANGE_FIELD_ATTR
  ENDLOOP.

 

**加如下代码

  LOOP AT SCREEN .
    IF WA_DATA-EBELN IS NOT INITIAL.
      SCREEN-INPUT = '0'.
      MODIFY SCREEN.
    ENDIF.
  ENDLOOP.

 

如果采购订单有值,那么这行就不可编辑

 

三、Table Control控制某一列不显示

  DATA: COLS TYPE TABLE OF CXTAB_COLUMN WITH HEADER LINE.
  COLS[] = TABCTRL-COLS[].    "TABCTRL是Table Control的名字

  LOOP AT COLS.
    IF COLS-INDEX = 4 OR COLS-INDEX = 5 OR COLS-INDEX = 8 .
      IF G_FLAG NE 'BT2'.
        COLS-INVISIBLE = 1.
      ELSE.
        COLS-INVISIBLE = 0.
      ENDIF.
      MODIFY COLS.
    ENDIF.
    IF COLS-INDEX = 11 OR COLS-INDEX = 9.
      IF G_FLAG NE 'BT1'.
        COLS-INVISIBLE = 1.   "显示
      ELSE.
        COLS-INVISIBLE = 0.   "不显示
      ENDIF.
      MODIFY COLS.
    ENDIF.
  ENDLOOP.

  TABCTRL-COLS[] = COLS[].

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值