1,当前行:
TC-CURRENT_LINE
2,被选择列
CONTROLS: TC TYPE TABLEVIEW USING SCREEN 0300.
DATA: TC_LINES LIKE SY-LOOPC.
DATA: TABIX LIKE TC-CURRENT_LINE.
DATA: WA TYPE CXTAB_COLUMN.
DATA: FLDNAME(100),HELP(100).
READ TABLE TC-COLS INTO WA WITH KEY SELECTED = 'X'.
SPLIT wa-SCREEN-NAME AT '-' INTO HELP FLDNAME.
SORT G_ZTABCTRLOBJ_ITAB BY (FLDNAME)
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:内部表,存放TableContorl上面的列 => CXTAB_COLUMN
INVISIBLE:
4.行号的计算及CURSOR行数据的取得
*取得当前行号
GET CURSOR LINE W_LINES.
CHECK SY-SUBRC = 0.
*当前行号 = 当前屏首行序号 + 当前屏行号
W_INDEX = TB-TOP_LINE + W_LINES - 1.
*用取得的行号读取内表数据
READ TABLE IT_TAB INDEX W_INDEX.
GET CURSOR LINE C_LINE.
C_LINE : 当前屏幕对应的行数
TB-TOP_LINE :top_line属性值对应的是table control中每次显示的第一行对应的内表中的行数
5 程序控制列的隐藏
(可以用变式来控制) 程序中在PBO 事件中删除。
DELETE <TC>-COLS WHERE SCREEN-GROUP1 = 'DELE'.
6 筛选
Call FunctionModule :LVC_FILTER