靠,好久没搞TC了,居然忘得差不多了.
对于普通的是否可编辑状态,LOOP SCREEN 或是直接改ZTC-COLS-SCREEN都是可以的.
但要隐藏列的话,只能用ZTC-COLS-VISLENGTH = 0 或是 ZTC-COLS-INVISIBLE = 'X'.此时用LOOP SCREEN无效.
顺便多记记
1 如果有工作区,则可以使用
PROCESS BEFORE OUTPUT.
LOOP AT g_itab_mara WITH CONTROL ZTC CURSOR ZTC-current_line.
ENDLOOP.
2 没有工作区,则使用
LOOP WITH CONTROL ZTC .
READ TABLE SP2 INTO SP1 INDEX ZTC-CURRENT_LINE.
ENDLOOP.
3.Table Control的几个属性
FIXED_COLS:固定列的数量
LINES:总行数
TOP_LINE:当前屏幕第一行的行号
CURRENT_LINE:当前行号
LEFT_COL:
LINE_SEL_MODE:
COL_SEL_MODE:
LINE_SELECTOR:
V_SCROLL:
H_GRID:
V_GRID:
COLS:内部表,存放TB上面的列
INVISIBLE:
4.行号的计算及CURSOR行数据的取得
*取得当前行号
GET CURSOR LINE W_LINES.
CHECK SY-SUBRC = 0.
*当前行号 = 当前屏首行序号 + 当前屏行号
W_INDEX = TBL-TOP_LINE + W_LINES - 1.
*用取得的行号读取内表数据
READ TABLE IT_TAB INDEX W_INDEX.
GET CURSOR LINE C_LINE.
C_LINE : 当前屏幕对应的行数
TAB-TOP_LINE :top_line属性值对应的是table control中每次显示的第一行对应的内表中的行数