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