TABLECONTROL


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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章