日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ABAP TBL鼠标滚动到某行某列

發布時間:2025/3/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ABAP TBL鼠标滚动到某行某列 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
滾動到某行某列
如果我們希望,屏幕顯示后展示在用戶面前的最上端或者左端是表內容中的某行某列,則應該修改變量top_line和left_col的值。一般可在PBO的tc_0100_change_tc_attr里設置:
tc_0100-top_line = 3.
tc_0100-left_col = 3.

后面left_col語句起作用的前提是,內表的字段較多,導致表控件寬度不夠,確有左右滾動的必要。


獲取鼠標所在位置
這里要用GET CURSOR語句,比如
DATA: l_line TYPE i,
????? l_field TYPE screen-name.
GET CURSOR FIELD l_field LINE l_line.


這樣就取得了鼠標在內表的所在行以及字段名。不過要注意的是,如果希望映射到itab,那可別忘了top_line。正確讀取鼠標所在條目對應于內表哪行數據的語句是:
GET CURSOR LINE l_line.
l_line = l_line + tc_0100-top_line - 1.
READ TABLE itab INTO wa INDEX l_line.
與此類似,希望鼠標定位于內表中某單元格的語句是SET CURSOR FIELD l_field LINE l_line.


.如何設置TC中某單元格編輯與否
對于普通的屏幕元素,我們都很清楚,用LOOP AT SCREEN可以實現。對于TC,當然也是一樣的。
TC向導會生成如下的Screen Flow Logic:
? LOOP AT itab INTO wa WITH CONTROL tc_0100 CURSOR tc_0100-current_line.
??? MODULE tc_0100_change_field_attr.
? ENDLOOP.
這是什么意思呢?事實上,如果我們設置了tc_0100-lines = 50,那么該Module將被執行50次。
所以,只要在tc_0100_change_field_attr中添加LOOP AT SCREEN即可,如下:

MODULE tc_0100_change_field_attr OUTPUT.
? LOOP AT SCREEN.
??? CASE screen-name.
????? WHEN 'ITAB-KEYFELD'.
??????? IF tc_0100-current_line > db_num.
????????? screen-input = '1'.
??????? ELSE.
????????? screen-input = '0'.
??????? ENDIF.
????? WHEN OTHERS.
??? ENDCASE.
??? MODIFY SCREEN.
? ENDLOOP.
ENDMODULE.


如何更新我們內表的數據
上面已經說過,在PAI處理過程中,系統將根據逐行讀取TC的數據,填充到wa中,而我們的itab與屏幕元素其實沒有直接的關聯,

所以簡單而言,可以如下編寫代碼:
? MODULE tc_0100_modify INPUT.
??? IF tc_0100-current_line <= LINES( itab ).
????? MODIFY itab FROM wa INDEX tc_0100-current_line.
??? ELSE.
????? APPEND wa TO itab.
??? ENDIF.
? ENDMODULE.

前面說過,如果tc_0100-lines = 50,那么Module tc_0100_change_field_attr將被執行50次。
那么這里的Module tc_0100_modify 是不是也是50次呢?答案是<=50次,這是因為,如果TC中某行完全為空的話,

系統是不可能調用tc_0100_modify的,換句話說,此時TC中的該行將視同不存在。

總結

以上是生活随笔為你收集整理的ABAP TBL鼠标滚动到某行某列的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。