on 2018 Nov 22 5:44 PM
Hi experts,
I inserted a button on a standard screen, with the purpose of selecting all the checkboxes of the ALV display column. But clicking on it does not.
DATA lo_componentcontroller TYPE REF TO ig_componentcontroller,
lr_node TYPE REF TO if_wd_context_node,
tl_nuli_nutr TYPE STANDARD TABLE OF wd_this->element_nuli_nutr,
vl_checkbox TYPE wdy_boolean VALUE 'X'.
FIELD-SYMBOLS: <wl_nuli_nutri> TYPE /plmb/s_lbl_nuli_nutr_ui.
lo_componentcontroller = wd_this->get_componentcontroller_ctr( ).
lr_node = wd_context->path_get_node( path = 'NULI.NULI_NUTR' ).
lr_node->get_static_attributes_table(
IMPORTING
table = tl_nuli_nutr ).
LOOP AT tl_nuli_nutr ASSIGNING <wl_nuli_nutri>.
<wl_nuli_nutri>-flg_show_item = vl_checkbox.
ENDLOOP.
lr_node->invalidate( ).
lr_node->bind_table(
EXPORTING
new_items = tl_nuli_nutr
set_initial_elements = abap_true
).
I searched and found some content here, but I still have not got the solution.
Thanks
Regards
ED
Help others by sharing your knowledge.
AnswerRequest clarification before answering.
Hmm, It's a simple requirement.
Here is my analysis on where it could go wrong:
Check the mapping between component controller and view controller.
Instead of getting the component controller reference, read the context node from the view controller and update the binding. Please check if there is another event handler or hook method(WDDOMODIFY) that is getting triggered after your change which might modify the binding.
Unfortunately, as I cannot know the sequence of methods that get called all I can make is assumptions. I'm confident this will work and you will be able to figure out the fix.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
77 | |
30 | |
10 | |
8 | |
8 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.