on 04-11-2011 9:54 AM
Hai Experts,
we use class CL_SALV_WD_A_COLUMN in a webdynpro application to hide or visible collumns in ALV on view.
The following problem occurs;
ename etc are set invisible, the first time the program comes by this code all the invisible fields are displayed in the view, on back and again trigger the code the correct collumns are visible, in this case WBS_ELEMENT, DESCRIPTION and ICON
How comes that the first time the supposed to be visible collumns are invisible and supposed to be invisible fields are visible!?
lo_column := lo_column_settings->get_column( 'PERNR' ).
lo_column->set_visible( ) .
create object lo_input_field
exporting
value_fieldname = 'PERNR'.
lo_input_field->set_read_only( ).
lo_column->set_cell_editor( lo_input_field ).
lo_column->set_cell_design_fieldname( 'CELLDESIGN' ).
Set needed columns visible for this view.
lo_column := lo_column_settings->get_column( 'ENAME' ).
lo_column->set_visible( ) .
lo_column := lo_column_settings->get_column( 'TEXT1' ).
lo_column->set_visible( ) .
lo_column := lo_column_settings->get_column( 'KOSTL' ).
lo_column->set_visible( ) .
lo_column := lo_column_settings->get_column( 'ENDDA' ).
lo_column->set_visible( ) .
lo_column := lo_column_settings->get_column( 'BEGDA' ).
lo_column->set_visible( ) .
lo_column := lo_column_settings->get_column( 'AEDTM' ).
lo_column->set_visible( ) .
lo_column := lo_column_settings->get_column( 'UNAME' ).
lo_column->set_visible( ) .
lo_column := lo_column_settings->get_column( 'POSID' ).
lo_column->set_visible( ) .
Set not needed columns invisible for this view.
lo_column := lo_column_settings->get_column( 'WBS_ELEMENT' ).
lo_column->set_visible( 01 ) .
lo_column := lo_column_settings->get_column( 'DESCRIPTION' ).
lo_column->set_visible( 01 ) .
lo_column := lo_column_settings->get_column( 'ICON' ).
lo_column->set_visible( 01 ) .
Hi,
To make the columns visible use value '02' in the set_visible method.
But ideally , you should use standard constants for this purpose like.
CL_WD_UIELEMENT=>E_VISIBLE-NONE ---for hiding
CL_WD_UIELEMENT=>E_VISIBLE-VISIBLE---for displaying.
something like this.
lo_column->set_visible( CL_WD_UIELEMENT=>E_VISIBLE-NONE ).
Thanks,
Aditya.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
85 | |
10 | |
10 | |
10 | |
7 | |
6 | |
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.