問題は、WD ALV のチェックボックス列の一部のセルが編集可能になり、一部のプロパティに応じて一部のセルが編集不可になることです。
必要な結果を得るために次の手順を実行します。
1) 対応するノードに属性 READONLY 型 WDY-BOOLEAN を追加します (属性 CHECK 型 WDY-BOOLEAN は既に追加されています)。
2) 次に、コードでテーブルの行のいくつかの条件をチェックし、属性 READONLY 値 abap_true または abap_false を割り当てます。
3) 次に、ノードをテーブルにバインドします。テーブルが正しく入力されました。デバッガーでチェックインしました。
4) 私の alv を設定します。
DATA: lo_table_settings TYPE REF TO if_salv_wd_table_settings,
lo_column_settings TYPE REF TO if_salv_wd_column_settings,
lo_column TYPE REF TO cl_salv_wd_column.
lo_column_settings ?= lv_value.
lo_table_settings ?= lv_value.
lo_column = lv_value->if_salv_wd_column_settings~get_column( 'CHECK' ).
DATA lr_checkbox TYPE REF TO cl_salv_wd_uie_checkbox.
" create checkbox
CREATE OBJECT lr_checkbox
EXPORTING checked_fieldname = 'CHECK'.
" make our table is editable
lo_table_settings->set_read_only( abap_false ).
lo_column = lo_column_settings->get_column( 'CHECK' ).
" Creating UI Elmenent 'INPUT FIELD' to make the column editable
DATA: lr_input_field TYPE REF TO cl_salv_wd_uie_input_field.
CREATE OBJECT lr_input_field EXPORTING value_fieldname = 'CHECK'.
lr_checkbox->set_read_only_fieldname( value = 'READONLY' ).
lv_value->if_salv_wd_column_settings~delete_column( ID = 'READONLY' ).
チェックボックス列のすべてのセルが編集可能であり、チェックボックス列の編集不可能なセルを取得できません。