cancel
Showing results for 
Search instead for 
Did you mean: 

alv check boxes

Former Member
0 Kudos

Wanna have a check box in my alv.

have a boolean field 'CHECKBOX' in my context.

but how to display the check box in my table now?

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hello,

Do the following in the wddomodifyview method:


 DATA: lr_alv_usage       TYPE REF TO   if_wd_component_usage,
        lr_config          TYPE REF TO   cl_salv_wd_config_table,
        lr_if_controller   TYPE REF TO   iwci_salv_wd_table,
        lr_checkbox     TYPE REF TO cl_salv_wd_uie_checkbox,
        lr_column_settings TYPE REF TO   if_salv_wd_column_settings.


  DATA: lt_columns         TYPE          salv_wd_t_column_ref,
        ls_column          TYPE          salv_wd_s_column_ref.

* Instantiate ALV Component
  lr_alv_usage = wd_this->wd_cpuse_all_alv( ).
  IF lr_alv_usage->has_active_component( ) IS INITIAL.
    lr_alv_usage->create_component( ).
  ENDIF.

* get reference to model
  lr_if_controller = wd_this->wd_cpifc_all_alv( ).
  lr_config        = lr_if_controller->get_model( ).

*set checkbox
  lr_column_settings ?= lr_config.
  lt_columns = lr_column_settings->get_columns( ).

* set checkbox
  LOOP AT lt_columns INTO ls_column.
    CASE ls_column-id.
      WHEN 'ENABLED'.
        CREATE OBJECT lr_checkbox.
        lr_checkbox->set_checked_fieldname( ls_column-id ).
        ls_column-r_column->set_cell_editor( lr_checkbox ).
    ENDCASE.
ENDLOOP.

Regards.

Former Member
0 Kudos

I added now:

DATA: lr_column_settings TYPE REF TO if_salv_wd_column_settings.

and I got a failure:

Paramter CHECKED_FIELDNAME is empty.

Former Member
0 Kudos

but its empty in: CREATE OBJECT lr_checkbox. ???

Former Member
0 Kudos

Thats my coding.

but nothing happens...

What are the prerequesits?

In context i have an attribute checkbox type checkbox...

DATA: lr_alv_usage TYPE REF TO if_wd_component_usage,

lr_config TYPE REF TO cl_salv_wd_config_table,

  • lr_if_controller TYPE REF TO iwci_salv_wd_table,

lr_checkbox TYPE REF TO cl_salv_wd_uie_checkbox,

lr_column_settings TYPE REF TO if_salv_wd_column_settings.

DATA: lt_columns TYPE salv_wd_t_column_ref,

ls_column TYPE salv_wd_s_column_ref.

  • Instantiate ALV Component

lr_alv_usage = wd_this->wd_cpuse_alv_table( ).

IF lr_alv_usage->has_active_component( ) IS INITIAL.

lr_alv_usage->create_component( ).

ENDIF.

  • get reference to model

lr_if_controller = wd_this->wd_cpifc_alv_table( ).

lr_config = lr_if_controller->get_model( ).

*set radiobutton

lr_column_settings ?= lr_config.

lt_columns = lr_column_settings->get_columns( ).

  • set radiobutton

LOOP AT lt_columns INTO ls_column.

CASE ls_column-id.

WHEN 'CHECKBOX'.

CREATE OBJECT lr_checkbox

EXPORTING

checked_fieldname = ls_column-id.

lr_checkbox->set_checked_fieldname( ls_column-id ).

ls_column-r_column->set_cell_editor( lr_checkbox ).

ENDCASE.

ENDLOOP.

Former Member
0 Kudos

Hello,

I'm sorry, I wrote wrong. Do the following:

Substitute this:


 * set checkbox
  LOOP AT lt_columns INTO ls_column.
    CASE ls_column-id.
      WHEN 'ENABLED'.
        CREATE OBJECT lr_checkbox.
        lr_checkbox->set_checked_fieldname( ls_column-id ).
        ls_column-r_column->set_cell_editor( lr_checkbox ).
    ENDCASE.
ENDLOOP.

By this:


LOOP AT lt_columns INTO ls_column.
  CASE ls_column-id.
    WHEN 'ENABLED'.
      CREATE OBJECT lr_checkbox
        EXPORTING
          checked_fieldname = ls_column-id.
      ls_column-r_column->set_cell_editor( lr_checkbox ).
  ENDCASE.
ENDLOOP.

Regards.

Former Member
0 Kudos

Hi,

This is ramkumar now i am in Webdynpro abap area.I want to insert the check box in the first column of the ALV table for this i wrote the code in WDMODIFY in the view.

method WDDOMODIFYVIEW .

DATA: l_ref_cmp_usage TYPE REF TO if_wd_component_usage.

l_ref_cmp_usage = wd_this->wd_cpuse_alv_checkbox( ).

IF l_ref_cmp_usage->has_active_component( ) IS INITIAL.

l_ref_cmp_usage->create_component( ).

ENDIF.

DATA: l_ref_interfacecontroller TYPE REF TO iwci_salv_wd_table .

l_ref_interfacecontroller = wd_this->wd_cpifc_alv_checkbox( ).

DATA:

l_value TYPE REF TO cl_salv_wd_config_table.

l_value = l_ref_interfacecontroller->get_model( ).

DATA: lt_columns TYPE salv_wd_t_column_ref,

ls_column TYPE salv_wd_s_column_ref,

lr_checkbox TYPE REF TO cl_salv_wd_uie_checkbox,

lr_column_settings TYPE REF TO if_salv_wd_column_settings.

  • * Set checkbox

lr_column_settings ?= l_value.

lt_columns = lr_column_settings->get_columns( ).

LOOP AT lt_columns INTO ls_column.

CASE ls_column-id.

WHEN 'ENABLED'.

CREATE OBJECT lr_checkbox

EXPORTING

checked_fieldname = ls_column-id.

ls_column-r_column->set_cell_editor( lr_checkbox ).

ENDCASE.

ENDLOOP.

endmethod.

Embeded the view in window and embeded the ALV component view in viewUIcontainerelement.and tested,but i am getting the runtime error Data no longer available when SALV_WD_TABLE GET_MODEL called kindly help me inthe same.

Answers (0)