HTMLB Tableview

BusinessServerPages; Erstellung von Webapplikationen.

Postby Walter4536 » Wed Mar 26, 2003 11:53 am

Hi Andibugger,

bin gerade dabei in den TableView am Ende zwei Pics 'reinzufummeln'. Mit dem einen soll ein Eintrag im Detail angezeigt werden, mit dem anderen soll in die Detailbearbeitung gesprungen werden. Das müßte sehr ähnlich realisiert werden können wie Du das vermutlich mit den Buttons gelöst hast. Wie selektierst Du den ausgewählten Eintrag, wenn man bei Dir auf die Buttons clickt?

Gruß,
Steff
Walter4536
...
...
 
Posts: 315
Joined: Mon Dec 02, 2002 12:09 pm

TableView - Eintrag bearbeiten ohne Selection Mode

Postby Chris247 » Wed Mar 26, 2003 1:57 pm

Hi Steff,

wie schon erwähnt habe ich im TableView eine Tabelle mit einer RadioButtonGroup und einen zusätzlichen Button zum Eintrag bearbeiten.

Ich habe eine interne Ausgabetabelle mit einem Zähler x_id und dem keyColumn Feld x_nr.
Der Zähler x_id ist "Platzhalter" für den Radiobutton.
Das Feld x_nr ist Schlüssel der Tabelle.
Bevor ich noch lange erkläre, hier ein Beispielcoding:

Layout:
.
.
<htmlb:tableView id = "tv1"
.
.
>
<htmlb:tableViewColumns>
<htmlb:tableViewColumn columnName = " "
wrapping = "true"
width = "100"
horizontalAlignment = "center"

type = "user" >
<htmlb:radioButtonGroup id = "x_id"
columnCount = "20"
selection = "<%= selection %>" >

<%-- im Feld id gibt man an, welchen Inhalt (hier die Nummer x_nr) man
mit dem Feld selection übergeben möchte --%>

<htmlb:radioButton id = "$x_nr$"
tooltip = "Bitte markieren Sie den Eintrag, der bearbeitet werden soll"
/>
</htmlb:radioButtonGroup>
</htmlb:tableViewColumn>
.
.
.

OnInputPro:
.
.
.
event = CL_HTMLB_MANAGER=>get_event( request ).

elseif event->event_type = 'click'.
.
.
.
DATA: radioButtonGroup TYPE REF TO CL_HTMLB_RADIOBUTTONGROUP.
radioButtonGroup ?= CL_HTMLB_MANAGER=>GET_DATA(
request = runtime->server->request
name = 'radioButtonGroup'
id = 'x_id' ).

IF radioButtonGroup IS NOT INITIAL.
selection = radioButtonGroup->selection.
* Inhalt Feld selection = x_nr
.
.
.

Gruß
Chris247
..
..
 
Posts: 43
Joined: Wed Mar 26, 2003 11:34 am

Postby Eric408 » Thu Mar 27, 2003 2:48 pm

agamennon hat geschrieben:Das mit den Buttons pro Zeile habe ich relativ zu anfang wieder verworfen! Da kann ich dir leider keine Erfahrungen mitteilen.


ich glaub ich hab die Sache mit den Buttons geknackt...

pro Button kann ich einen Namen als ID mitgeben und einen Wert als "Server-Event" onClick. Ich denke mir zwar dass der Server Event eigentlich einen anderen Sinn hat, aber wenns auch so klappt...

Beispiel:

Layout:
<htmlb:button
id = "button1"
text = "Edit"
onClick = "$ma_nr$" />


OnInputProcessing:
DATA: event TYPE REF TO CL_HTMLB_EVENT.
event = CL_HTMLB_MANAGER=>get_event( runtime->server->request ).
DATA: event_data TYPE REF TO CL_HTMLB_EVENT.
event_data = CL_HTMLB_MANAGER=>get_event( request ).

* event->IF_HTMLB_DATA~EVENT_ID ----------- hier steht dann "Button1"
* event_data->server_event ----------- hier steht dann die ID (ma_nr)


vielleichts hilfts... :D

Stefan.
Eric408
..
..
 
Posts: 40
Joined: Fri Mar 14, 2003 7:11 pm

Postby Walter4536 » Thu Mar 27, 2003 3:17 pm

Hi Stefan,

erstmal Danke :-). Bin in der Zwischenzeit auch weiter gekommen und habe ähnliche Erfahrungen wie Du gemacht.
Ich habe eine Spalte am Anfang des TableViews gebaut, die zwei Icons enthält. Das eine Icon ist für 'ändern', das andere für 'anzeigen'.

Die Spalte sieht wie folgt aus (siehe mein Beispiel weiter vorne):
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1.                       <htmlb:tableViewColumn columnName         = "actions"
  2.                                             type                = "user"
  3.                                             title               = "Aktionen"
  4.                                             verticalAlignment   = "middle"
  5.                                             horizontalAlignment = "center"
  6.                                             dataType            = "string"
  7.                                             encode              = "false">
  8.                         <htmlb:link id      = "view"
  9.                                    onClick = "$ZOBJKEY$"
  10.                                    tooltip = "$ZOBJKEY$">
  11.                           <htmlb:image src     = "viewdoc.gif"
  12.                                       width   = "16"
  13.                                       height  = "15"
  14.                                       tooltip = "$ZOBJKEY$"/>
  15.                         </htmlb:link>
  16.                          
  17.                         <htmlb:link id      = "change"
  18.                                    onClick = "$ZOBJKEY$"
  19.                                    tooltip = "$ZOBJKEY$">
  20.                           <htmlb:image src     = "modify2.gif"
  21.                                       width   = "16"
  22.                                       height  = "15"
  23.                                       tooltip = "$ZOBJKEY$"/>
  24.                         </htmlb:link>
  25.  
  26.                 </htmlb:tableViewColumn>
  27.  
GeSHi ©


Die Tabellenspalte mit den relevanten Schlüsselwerten ist bei mir 'ZOBJKEY'. Wenn man nun auf das 'change' icon clickt, bekommt man im OnInputProcessing:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1.   CLASS CL_HTMLB_MANAGER DEFINITION LOAD.
  2.  
  3. * Optional: test that this is an event from HTMLB library.
  4.   IF event_id = CL_HTMLB_MANAGER=>EVENT_ID.
  5.  
  6.     DATA: event_data  TYPE REF TO CL_HTMLB_EVENT,
  7.           table_event type ref to CL_HTMLB_EVENT_TABLEVIEW,
  8.           str type string.
  9.  
  10.     event_data = CL_HTMLB_MANAGER=>get_event&#40; request &#41;.
  11.  
  12.  
  13. Memberinhalte im Objekt 'event_data':
  14. SERVER_EVENT   0005001489
  15. ID       change
  16. NAME      link
  17. EVENT_TYPE    click
  18. EVENT_DEFINED   null
  19.  
GeSHi ©


Die Erfahrungen die ich gemacht habe sind dieselben wie bei Dir, d.h. es wird auch das SERVER_EVENT gesetzt. Ich hätte eigentlich erwartet, dass der Wert im EVENT_DEFINED steht, aber so funktioniert es und das ist ok.
:wink:

Gruß,
Steff
Walter4536
...
...
 
Posts: 315
Joined: Mon Dec 02, 2002 12:09 pm

Previous

Return to BSP + BHTML

Who is online

Users browsing this forum: No registered users and 9 guests