2
我正在使用類cl_gui_alv_grid
創建ALV輸出網格。一個輸出表的列的通過使用fieldcatalog的相應記錄定義爲一個複選框:將ALV輸出網格中的複選框標記爲選中
ls_fcat-checkbox = 'X'.
ls_fcat-edit = 'X'.
對於包含複選框的列的所有記錄,它們都設置未選中。我的問題是我可以實現什麼邏輯,以便對於某些行,當顯示ALV時將複選框設置爲選中狀態。
我正在使用類cl_gui_alv_grid
創建ALV輸出網格。一個輸出表的列的通過使用fieldcatalog的相應記錄定義爲一個複選框:將ALV輸出網格中的複選框標記爲選中
ls_fcat-checkbox = 'X'.
ls_fcat-edit = 'X'.
對於包含複選框的列的所有記錄,它們都設置未選中。我的問題是我可以實現什麼邏輯,以便對於某些行,當顯示ALV時將複選框設置爲選中狀態。
如果您希望根據alv網格中最初顯示的數據設置複選框,只需在條件匹配的情況下使用abap_true(='X')填充outtab複選框字段。如果你想而不是使用fieldcatalog的複選框參數,你會看到'X'選中,''未選中。
如果你想根據用戶輸入設置的複選框,之後便編輯了ALV網格的某些字段,請使用以下ALV網格事件來改變outtab:
METHODS:
handle_data_changed FOR EVENT data_changed OF cl_gui_alv_grid
IMPORTING er_data_changed,
handle_data_changed_finished FOR EVENT data_changed_finished OF cl_gui_alv_grid, "executed only if no errors, outtab holds changed data
我也發現了一些意見,我做,當我不得不處理這些事件
*&---------------------------------------------------------------------*
*& Method handle_data_changed
*&---------------------------------------------------------------------*
* raised when at least one cell is modified in the ALV
* - modified entries are not stored in gt_outtab yet, but er_data_changed object
* - mt_good_cells holds every changed field thats valid according to type declaration
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Method handle_data_changed_finished
*&---------------------------------------------------------------------*
* - raised when data validation is valid
* - NOW outtab holds valid changed data
*----------------------------------------------------------------------*
是的,我想顯示一些行顯示ALV時第一時間被檢查。我填寫了outtab,現在可以。謝謝 –