Ausgewählte Tabellenzeile eines Table View ermitteln?

BusinessServerPages; Erstellung von Webapplikationen.

Ausgewählte Tabellenzeile eines Table View ermitteln?

Postby Jason5225 » Thu May 08, 2008 5:06 pm

Hallo,

ich habe folgendes Problem: Ich will auf einer BSP-Seite mit einem Table View eine Tabelle anzeigen und bei einem klick auf den Radiobutton ("singleselect" aktiviert) auf eine neue seite springen, in der dann in input fields die daten aus eben jener zeile angezeigt werden. dazu breuche ich aber im eventhandler die angewählte reihe. gibt es irgendeine einfache methode o.ä. mit der ich sie ermitteln kann?

der table view sieht folgendemaßen aus:
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. <htmlb:form>
  2.       <htmlb:tableView id               = "Anzeigen"
  3.                        design           = "STANDARD"
  4.                        width            = "500 px"
  5.                        table            = "<%= tab_mitarbeiter %>"
  6.                        headerVisible    = "FALSE"
  7.                        selectionMode    = "SINGLESELECT"
  8.                        visibleFirstRow  = "1"
  9.                        visibleRowCount  = "10"
  10.                        emptyTableText   = "Keine passenden Mitarbeiter gefunden!"
  11.                        navigationMode   = "BYPAGE"
  12.                        selectedRowIndex = "<%= g_selected_index %>"
  13.                        onRowSelection   = "onInputProcessing&#40;oeffnen&#41;;"
  14.                        onNavigate       = "myOnNavigate" />
GeSHi ©

die grobe struktur vom eventhandler "onInputprocessing" sieht so aus:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. IF event_id = CL_HTMLB_MANAGER=>event_id.
  2.   DATA: event TYPE REF TO CL_HTMLB_EVENT,
  3.   event = CL_HTMLB_MANAGER=>get_event&#40; runtime->server->request &#41;.
  4.  
  5. Case event->id.
  6.   When 'Anzeigen'.
  7.     zeile = ""hier würde ich gerne die ausgewählte zeile vom table view rausbekommen
  8.     navigation->set_parameter&#40; 'hier soll die id eines mitarbeiters übergeben werden ' &#41;.
  9.     navigation->goto_page&#40; 'details.htm' &#41;.
  10.   WHEN 'Zurueck'.
  11.     navigation->goto_page&#40; 'anzeigen.htm' &#41;.
GeSHi ©


ist wahrscheinlich ein einfaches problem, aber das sind meie ersten schritte in abap und ich hab leider nichts gefunden, was darauf passt...
Deshalb wäre ich über lösungsvorschläge sehr dankbar...

merci
Jason5225
.
.
 
Posts: 1
Joined: Thu May 08, 2008 5:06 pm

Postby Timm2947 » Mon May 19, 2008 7:53 am

das sollte in etwa das sein, was du benötigst:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1.     lo_evt_tv       type ref to cl_htmlb_event_tableview,
  2.     lt_row          type selectedrows.
  3.  
  4.     <ls_row>        type selectedrow.
  5.  
  6. *     selektierte Einträge auslesen
  7.       create object lo_evt_tv.
  8.       lo_evt_tv->if_htmlb_data~restore_from_request&#40;
  9.         request = runtime->server->request
  10.         id      = 'Anzeigen' &#41;. "die ID der TableView - eventuell im HTML-Quellcode nachgucken ob die ID wohl wirklich stimmt
  11.       lt_row = lo_evt_tv->get_rows_selected&#40; &#41;.
  12.  
  13. *     wurden Zeilen selektiert?
  14.       if lines&#40; lt_row &#41; eq 0.
  15.         "error
  16.       else.
  17.  
  18. *       Selektion durchlaufen
  19.         loop at lt_row assigning <ls_row>
  20.             where index is not initial.
  21.  
  22. *         Eintrag auslesen
  23.           read table tab_mitarbeiter assigning <ls_entry>
  24.             index <ls_row>-index.
  25.  
  26.           "mach was
  27.  
  28.         endloop.
  29.       endif.
  30.  
GeSHi ©


gruß markus
Timm2947
.
.
 
Posts: 5
Joined: Wed Dec 05, 2007 9:46 am


Return to BSP + BHTML

Who is online

Users browsing this forum: No registered users and 2 guests

cron