cancel
Showing results for 
Search instead for 
Did you mean: 

Width of colum in ALV and default selected row

mahesh_jagnani
Participant
0 Kudos

Hi Expert,

I have 2 requirement.

1.Display an ALV with one column of Fixed width .

2.By default one row of the table is selected when the ALV is displaying.Can u plz tell how i can remove the default selection,I mean by default no row should be selected.Once the user see the table then he can select the row.

Can u plz help.

Thanks

Mahesh.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi

1. You need to change Table setting Layout. Please check this code:

  • create an instance of ALV component

DATA: LR_IF_CONTROLLER TYPE REF TO IWCI_SALV_WD_TABLE,

LR_CMP_USAGE TYPE REF TO IF_WD_COMPONENT_USAGE,

LR_CMDL TYPE REF TO CL_SALV_WD_CONFIG_TABLE,

LR_TABLE_SETTING TYPE REF TO IF_SALV_WD_TABLE_SETTINGS.

LR_CMP_USAGE = WD_THIS->WD_CPUSE_ALV( ).

IF LR_CMP_USAGE->HAS_ACTIVE_COMPONENT( ) IS INITIAL.

LR_CMP_USAGE->CREATE_COMPONENT( ).

ENDIF.

    • get reference to the ALV model

LR_IF_CONTROLLER = WD_THIS->WD_CPIFC_ALV( ).

LR_CMDL = LR_IF_CONTROLLER->GET_MODEL( ).

LR_TABLE_SETTING ?= LR_CMDL.

    • Set column width

DATA LR_COL TYPE REF TO CL_SALV_WD_COLUMN.

LR_COL = LR_CMDL->IF_SALV_WD_COLUMN_SETTINGS~GET_COLUMN( 'PERNR' ).

LR_COL->SET_WIDTH( '70' ) .

LR_COL = LR_CMDL->IF_SALV_WD_COLUMN_SETTINGS~GET_COLUMN( 'ENAME' ).

LR_COL->SET_WIDTH( '100' ) .

LR_TABLE_SETTING->SET_FIXED_TABLE_LAYOUT( ABAP_TRUE ).

2. Uncheck Initialization lead selection for that node, you get no selection.

Cheers,

Kris.

Answers (0)