Code: Alles auswählen.
...
<htmlb:form>
<htmlb:tableView id = "tv1"
headerText = "Suche nach <%= p_suche %>"
headerVisible = "true"
footerVisible = "true"
design = "ALTERNATING"
table = "<%=my_suche%>"
selectionMode = "SINGLESELECT"
visibleRowCount = "20"
onRowSelection = "onMyRowSelection">
</htmlb:tableView>
</htmlb:form>
Code: Alles auswählen.
CLASS CL_HTMLB_MANAGER DEFINITION LOAD.
IF event_id = CL_HTMLB_MANAGER=>EVENT_ID.
DATA: event TYPE REF TO CL_HTMLB_EVENT,
fval type string.
event = CL_HTMLB_MANAGER=>get_event( runtime->server->request ).
IF event->name = 'tableView'.
* Declarations
DATA: tableview_event TYPE REF TO CL_HTMLB_EVENT_TABLEVIEW,
selected_row_index TYPE selectedrow-index,
tv TYPE REF TO cl_htmlb_tableview.
tv ?= cl_htmlb_manager=>get_data( request = request
name = 'tableView'
id = 'tv1' ).
IF tv IS NOT INITIAL.
tableview_event = tv->data.
* selected_row_index = tableview_event->selectedrowindex.
selected_row_index = tableview_event->prevselectedrowindex.
CALL METHOD TABLEVIEW_EVENT->GET_CELL_VALUE
EXPORTING
ROW_INDEX = selected_row_index
COLUMN_INDEX = 1
RECEIVING
VALUE = fval
.
ENDIF.
ENDIF.
Code: Alles auswählen.
<htmlb:tableView id = "tv1"
headerText = "IT-Controlling lookup data"
headerVisible = "true"
design = "alternating"
visibleRowCount = "8"
fillUpEmptyRows = "true"
selectionMode = "LINEEDIT"
table = "<%= gt_flights %>"
iterator = "<%= cls_iterator %>"
filter = "SERVER"
selectedRowIndex = "<%= g_selected_index %>"
visibleFirstRow = "<%= g_first_vis_row %>"
/>
Code: Alles auswählen.
IF tv IS NOT INITIAL.
* select another row of tableview
table_event = tv->data.
IF NOT table_event->ROW_INDEX IS INITIAL.
g_selected_index = table_event->ROW_INDEX.
ENDIF.
* write data of prior row
IF NOT table_event->PREVSELECTEDROWINDEX IS INITIAL.
READ TABLE gt_flights INDEX table_event->PREVSELECTEDROWINDEX ASSIGNING
<fs_row>.
* for each field
DO.
* |
* |
ASSIGN COMPONENT sy-index OF STRUCTURE <fs_row> TO <fs_field>.
IF sy-subrc <> 0.
EXIT.
ENDIF.
l_value = table_event->GET_CELL_ID( row_index = table_event->PREVSELECTEDROWINDEX
column_index = sy-index ).
inputfield ?= CL_HTMLB_MANAGER=>GET_DATA( request = request
name = 'inputField'
id = l_value ).
l_value = table_event->get_cell_value( row_index = table_event->PREVSELECTEDROWINDEX
column_index = sy-index ).
l_value = inputfield->value.
TRY.
<fs_field> = l_value.
CATCH cx_sy_conversion_no_number.
* any better ideas?
REPLACE ALL OCCURRENCES OF '.' IN l_value WITH ''.
REPLACE ALL OCCURRENCES OF ',' IN l_value WITH '.'.
<fs_field> = l_value.
ENDTRY.
* |
* |
ENDDO.
IF g_selected_index = table_event->PREVSELECTEDROWINDEX.
CLEAR: g_selected_index.
ENDIF.
ENDIF.
ENDIF.
Code: Alles auswählen.
<fs_field> = l_value.