table control 双击事件

本文介绍了TableControl组件的三种实用操作技巧:如何响应双击事件、如何控制某一行的可编辑状态以及如何隐藏指定的列。这些技巧对于提高表格组件的交互性和功能性非常有用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

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、付费专栏及课程。

余额充值