cancel
Showing results for 
Search instead for 
Did you mean: 

Prevent Roundtrip at table line selection

juergenbaur
Active Participant
0 Kudos

Hi all,

I am using CRM2007.

Is there any way to get the selected rows if I leave the tag "onRowSelection" empty?

<chtmlb:configTable id = "Table"

usage = "ASSIGMENTBLOCK"

selectionMode = "MULTISELECT"

onRowSelection = "select"

There is some rumor about this - but I have not found a solution yet.

best regards

Jürgen

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Juergen

Proced as below

1) you will just have to leave the onRowSelection parameter empty (don't forget to maintain id)

<chtmlb:configCellerator

id = 'myId'

...

onRowSelection = " "/>

2) Since we are not sending anly row selection event from view , we have to handle this selection event in DO_HANDLE_DATA method in View controller class as below

DATA: LT_SELECTED_ROWS TYPE INT4_TABLE.

DATA: LV_ID TYPE STRING.

DATA: LV_TABLE TYPE REF TO CL_THTMLB_TABLE_VIEW.

CREATE OBJECT LV_TABLE.

CONCATENATE ME->COMPONENT_ID `_` 'myId' INTO LV_TABLE->ID.

LV_TABLE->GET_PARAMS_FROM_REQUEST( IV_REQUEST = REQUEST IV_ID = LV_TABLE->ID ).

LT_SELECTED_ROWS = LV_TABLE->GET_ROWS_SELECTED_S( 'X' ).

  • Get the table's data including the selected rows for a given tableView/cellerator tag

(the selection part only works from WEBCUIF EhP 1)

DATA: LT_SELECTED_ROWS TYPE INT4_TABLE.

DATA: LV_ID TYPE STRING.

DATA: LV_TABLE TYPE REF TO CL_THTMLB_TABLE_VIEW.

CONCATENATE ME->COMPONENT_ID `_` 'myId' INTO LV_ID.

LV_TABLE ?= CL_HTMLB_MANAGER=>GET_DATA( REQUEST = REQUEST

ID = LV_ID

NAME = 'thtmlb:tableView' ).

  • \--> with this one can get the selected rows as well (only works from WEBCUIF EhP 1)

LT_SELECTED_ROWS = LV_TABLE->SELECTEDROWINDEXTABLE.

  • Get the table's data including the selected rows for a given cellerator tag

  • (This is a special case of the last version, where one specifically uses the cllerator tag.

  • The above works for both the tableView and the cellerator, the below only for the cellerator)

  • (the selection part only works from WEBCUIF EhP 1 or with note 1277555)

DATA: LT_SELECTED_ROWS TYPE INT4_TABLE.

DATA: LV_ID TYPE STRING.

DATA: LV_CELLERATOR TYPE REF TO CL_THTMLB_CELLERATOR.

CONCATENATE ME->COMPONENT_ID `_` 'myId' INTO LV_ID.

LV_CELLERATOR ?= CL_HTMLB_MANAGER=>GET_DATA( REQUEST = REQUEST

ID = LV_ID

NAME = 'thtmlb:cellerator' ).

  • \--> with this one can get the selected rows as well (only works from WEBCUIF EhP 1 or with note 1277555))

LT_SELECTED_ROWS = LV_CELLERATOR->SELECTEDROWINDEXTABLE.

3) Retrieve the selected index using the below approach

cl_thtmlb_util=>get_event_info(

exporting

iv_event = htmlb_event_ex

importing

ev_index = lv_index

ev_column = lv_column ).

Hope this will helps.

Thanks & Regards

Raj

Edited by: bmsraj on Oct 18, 2011 11:55 AM

juergenbaur
Active Participant
0 Kudos

Great - thank you.

the only problem is, that at DO_HANDLE_DATA

the value of LT_SELECTED_ROWS is not the delta.

If i mark 2 lines at first run - LT_SELECTED_ROWS has 2 entries.

If I mark 1 line in the second run - LT_SELECTED_ROWS has 3 entries.

The 2 from first run and the new from second roundtrip.

best regards

Jürgen

juergenbaur
Active Participant
0 Kudos

Solution:

Do not use:

selectedRowIndexTable = "<%= cmdocument->SELECTION_TAB

best regards

Jürgen

Answers (0)