Multi Select Rows in Webdynpro ALV with out using ctrl key.
Hi all,
I saw many people asking how to do a multi-selection on a webdynpro ALV without using ctrl key.
First of all it isn’t a straight forward method but does the job.
So if you are in a situation where you have to do multi-selection without ctrl key, this document should help you.
Before I start this document I assume that you know how to create an ALV in webdynpro.
Step 1:Create an ALV and while initializing the ALV ( In my case its in WDDOINIT method ) set the selection mode as MULTI.
Step 2:Create a global table as an attribute to the controller.
GT_INDEX is of type ZINDEX_T
ZINDEX_T has the line type ZINDEX_S
and ZINDEX_S has the structure:
Step 3:Implement the event handler method on_lead_select of the ALV
Step 4:Write the following code in the method.
DATA: ls_index TYPE zindex_s,
lv_index TYPE i.
DATA lo_nd_table_node TYPE REF TO if_wd_context_node.
lo_nd_table_node = wd_context->get_child_node( name = wd_this->wdctx_table_node ).
READ TABLE wd_this->gt_index WITH KEY idx = r_param->index TRANSPORTING NO FIELDS.
IF sy-subrc = 0.
DELETE wd_this->gt_index INDEX sy-tabix.
ELSE.
CLEAR ls_index.
ls_index-idx = r_param->index.
APPEND ls_index TO wd_this->gt_index.
ENDIF.
LOOP AT wd_this->gt_index INTO ls_index.
lv_index = ls_index-idx.
lo_nd_table_node->set_selected(
EXPORTING
flag = abap_true " Value with Which Property Is to Filled
index = lv_index " Index of Context Element
).
ENDLOOP.
Now you go and click on the rows required without pressing ctrl key to select it and click again to deselect it.
Thank you.
Hello,
When i try this code on my application , i get an error like this "
"
How can i solve this problem ?
Thanks in advance.
Hi Sinem,
GT_index should not be of type database table ...
see the step from 2-3
Was helpful.
Thanks.
Hello John,
Good document...Keep posting.. 🙂
Thanks
Katrice
Hello John,
Good Document . But in this after selection if i use the De Select all option to de select the records i am getting the dump. Could you please help me regarding this error.
Regards,
Upendra.
Hello Upendra,
I would really like to know if you could fix your problem because I ended up in the same situation.
I tried to disable the "de select all/select all" button but I couldn't.
Any help would be great.
Thank you.
Hi,
I optimised the coding as following: