關於Table Control 列屬性的控制

2021-05-23 09:25:13 字數 1117 閱讀 3455

靠,好久沒搞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中每

次顯示的第一行對應的內錶中的行數

table control 雙擊事件

一 table control 響應雙擊事件 第一步 屬性選擇 響應雙擊 第二步 在status裡面f2要寫成pick,這樣雙擊的ucomm就是pick了 第三步 加上如下 就可以得到雙擊的行和列 data l row type i.data l field type char30.case ok ...

TableControl使用方法

talbecontrol使用方法總結 一 自己手動製作tablecontrol 我最喜歡用的方法 1 定義內錶 data wa type mseg.data itab like table of wa.2 定義表控制物件 control tc1 type tableview using screen...

table control獲取雙擊行資料

1 啟用gui狀態響應雙擊事件的功能碼 2 在user command 的module裡獲取滑鼠所在位置 這裡要用get cursor語句,比如 data l line type i.get cursor line l line.這樣就取得了滑鼠在內表的所在行,如果希望對映到itab,那就需要結合t...