1
我正在使用CL_GUI_ALV_GRID
類來顯示錶。我希望能夠編輯表格(添加新行和刪除所有行),但我不希望現有行是可編輯的。這意味着:ALV網格鎖定特定行
我有5條記錄要顯示,我希望能夠刪除並添加新記錄,但我不希望用戶編輯5個現有記錄(我希望他能夠刪除它們)。
這可能嗎?
我正在使用CL_GUI_ALV_GRID
類來顯示錶。我希望能夠編輯表格(添加新行和刪除所有行),但我不希望現有行是可編輯的。這意味着:ALV網格鎖定特定行
我有5條記錄要顯示,我希望能夠刪除並添加新記錄,但我不希望用戶編輯5個現有記錄(我希望他能夠刪除它們)。
這可能嗎?
默認情況下,當您調用'LVC_FIELDCATALOG_MERGE'功能模塊爲CL_GUI_ALV_GRID生成字段目錄時,單元格不可編輯。
您必須設置該欄將被編輯設置的「編輯」屬性是這樣的:
...
data: it_fieldcat type lvc_t_fcat,
wa_fieldcat like line of it_fieldcat.
call function 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'ZSTRUCT'
CHANGING
ct_fieldcat = it_fieldcat.
loop at it_fieldcat into wa_fieldcat.
wa_fieldcat-edit = 'X'. " ---->Here is set the editable column
modify it_fieldcat from wa_fieldcat.
endloop.
如果你不想被編輯的細胞不設置該屬性做。
但爲了更好的參考檢查程序'BCALV_EDIT_03'和'BCALV_EDIT_04'的完整示例。
希望它有幫助。
我已經知道了,問題是我怎麼能「鎖定」現有行。例如,查看事務su01的角色選項卡。您無法編輯已經應用的角色。你可以刪除它們。 –
@thefiloe那麼,你的問題不是很清楚,因爲事務'SU01'不使用CL_GUI_ALV_GRID'。另一方面,如果您檢查程序「SAPLSUU5」,特別是dynpro'103',那麼傳統的表格控制方案需要通過表格來管理數據。我還沒有做過這樣的解決方案,但這裏有一個鏈接可以幫助您http://help.sap.com/saphelp_470/helpdata/en/9f/dbac5e35c111d1829f0000e829fbfe/content.htm。如果你堅持CL_GUI_ALV_GRID,那麼編程'BCALV_EDIT_04'是你最好的選擇。希望能幫助到你。 –