TableView get_cell_value

ABAP Web Dynpro, BusinessServerPages; Erstellung von Webapplikationen.
2 Beiträge • Seite 1 von 1
2 Beiträge Seite 1 von 1

TableView get_cell_value

Beitrag von wowjan (ForumUser / 5 / 0 / 0 ) »
Hallo,

ich lasse meine Daten in einer TableView anzeigen. Wählt der Benutzer eine Zeile aus, so will ich den Wert dieser Zeile aus der ersten Spalte auslesen.

im Layout - Teil:

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>
im Eventhanlder:

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.
Aus mir unerklärlichen Gründen funktioniert die Methode GET_CELL_VALUE nicht; mein fval ist immer leer.

Kann mir da jemand helfen ???

Danke im Voraus.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von johnplayer (ForumUser / 2 / 0 / 0 ) »
Also ich mache das so:

Layout:

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 %>"
                       />

OnInputProcessing

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.
An der Stelle ...

Code: Alles auswählen.

  <fs_field> = l_value.
steht in l_value der Feldwert.

Seite 1 von 1

Vergleichbare Themen

3
Antw.
3136
Views
OLE (Excel): GET PROPERTY OF cell 'Value' feld
von heiko-77 » 16.08.2018 13:24 • Verfasst in ABAP® Core
7
Antw.
3271
Views
in der ALV Cell zwei Radio Buttons
von Manfred K. » 31.08.2016 15:48 • Verfasst in ABAP® für Anfänger
1
Antw.
2155
Views
Cell / Column Span in einer Table View
von ABRATI » 06.07.2006 16:06 • Verfasst in Web-Dynpro, BSP + BHTML
0
Antw.
1627
Views
Cell / Column Span in einer Table View
von ABRATI » 06.07.2006 16:05 • Verfasst in Web-Dynpro, BSP + BHTML
0
Antw.
1703
Views
Cell / Column Span in einer Table View
von ABRATI » 06.07.2006 16:06 • Verfasst in Web-Dynpro, BSP + BHTML

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Unbeantwortete Forenbeiträge

Username als Variable in xdc-Datei?
vor einer Woche von uli3480 1 / 1692
Substitution zum Zeitpunkt 60
vor 3 Wochen von irene 1 / 4326
CDS View Erweitern mit Hierarchie
vor 3 Wochen von Interger 1 / 6998
Intervall mit Beziehungswissen füllen
letzen Monat von wolli 1 / 41202