Beispiel für DropdownListBox needed

BusinessServerPages; Erstellung von Webapplikationen.

Beispiel für DropdownListBox needed

Postby Alva1590 » Tue May 18, 2004 2:17 pm

Hallo,

ich verzweifle gerade an diesen DropDownListboxen.

Kann mir nicht jemand ein ganz einfache Beispiel posten, bei dem die Auswahl der ListBox dann auf der gleichen Seite angezeigt wird und bei siwtch dann immer aktualisiert wird.

Vielen Dank - ich bekomms einfach nicht hin...
Alva1590
.....
.....
 
Posts: 4387
Joined: Mon Dec 02, 2002 3:01 pm

Postby Chris247 » Tue May 18, 2004 3:31 pm

Hallo,

hier ein kleines Beispiel:

Layout:

<htmlb:form>

<htmlb:dropdownListBox id = "test" onSelect = "DoubleCheckId" nameOfKeyColumn = "NAME" nameOfValueColumn = "VALUE" selection = "<%=vselected%>">

<htmlb:listBoxItem key = "PKW" value = "PKW" />
<htmlb:listBoxItem key = "Bahn" value = "Bahn" />
<htmlb:listBoxItem key = "Fahrrad" value = "Fahrrad" />
</htmlb:dropdownListBox>

</htmlb:form>
.
.
.
Seitenattribut: vselected type string

onInpPro:
DATA: event TYPE REF TO cl_htmlb_event.
DATA: event_data TYPE REF TO cl_htmlb_event.
DATA: data TYPE REF TO cl_htmlb_dropdownlistbox.

CASE event_id.
WHEN 'htmlb'.

* Die "BSP-Event_ID" ermitteln
event = cl_htmlb_manager=>get_event( runtime->server->request ).


event_data = cl_htmlb_manager=>get_event( request ).

CASE event->if_htmlb_data~event_type.

WHEN 'select'. "DropDown Listbox wurde betätigt

data ?= cl_htmlb_manager=>get_data(
request = runtime->server->request
name = 'dropdownlistbox'
id = 'test'
).
IF data IS NOT INITIAL.
vselected = data->selection.
ENDIF.
ENDCASE.
ENDCASE.


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

Danke!!

Postby Alva1590 » Wed May 19, 2004 5:18 pm

Hi,

spitze das funzt wie sau. Wenn mir jetzt nach einer sagen kann wie
ich "onSelect" eine TableView aktualisiere (die allerdings auf einer anderen HTMLB Seite liegt) dann bin ich mehr als glücklich.

Nochmal kurz mein Problem:
Ich habe 2 BSP Seiten:
A) DropDownListBox-Seite
B) TableView-Seite

nun möchte ich das onSelect der Listbox-Seite die TableView-Seite entsprechend aktualisiert wird. Die selection ist auf beiden Seiten als
Seitenattribut (<%=vselected%>) mit Autoflag eingetragen.

Die Table für den TableView ziehe ich über ein Standard ABAP select.

" select * from table
where xxx=vselected "

Wie bekomme ich nun den Parameter von A nach B und den Tableview
dazu entsprechend der Selection Daten anzuzeigen.

Vielen Dank schonmal im voraus.
Alva1590
.....
.....
 
Posts: 4387
Joined: Mon Dec 02, 2002 3:01 pm

Postby Chris247 » Fri May 21, 2004 9:23 am

Hi,

mit der Methode set_parameter setzt Du den gegebenen Parameter (vselected) für die Übergabe an die Folgeseite.
Die Methode goto_page veranlasst die Navigation zur gegebenen URL,
also von Seite A nach B.

Beispiel:

navigation->set_parameter( name = 'vselected' value = vselected ).
navigation->goto_page( 'ztest.htm' ).


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

Ich bin begeistert

Postby Alva1590 » Mon May 24, 2004 5:57 pm

Man das flutscht ja richtig. Vielen Dank für Deine Hilfe.

Ich hab natürlich immer noch ein Problem :-(

Meine Mini-Applikation hat folgenden Aufbau:

3 Frames>

1. DropDown-Frame (das mit den Menus - sagen wir mal Jahr und Monat)
2. Navigations-Frame (hier sollen über einfache HTMLB Links verschiedene Seiten ins Tableview-Frame geladen werden.)
3. Tableview-Frame

Durch den hart gesetzten goto_page Befehl bekomm ich da natürlich jetzt Probleme>>>
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. navigation->set_parameter&#40; name = 'par_yearb' value = par_yearb &#41;.
  2. navigation->goto_page&#40; 'tableview_1.htm' &#41;.
  3.  
GeSHi ©


Nun geht natürlich immer tableview_1.htm auf, sobald ich das Menu switche. Gibt es da was elegantes, um diese Problem zu lösen?

Kann man im Code des Navigations/Link-Frames einen Parameter setzen?!
Wenn ja wie?

Hier mein derzeitiger Code:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1.  CASE link_event->id.
  2.       WHEN 'P1'.
  3.       navigation->goto_page&#40; link_event->reference &#41;.
  4.       WHEN 'P2'.
  5.       navigation->goto_page&#40; link_event->reference &#41;.
  6.       WHEN 'P3'.
  7.       navigation->goto_page&#40; link_event->reference &#41;.
  8.       WHEN 'P4'.
  9.       navigation->goto_page&#40; link_event->reference &#41;.
  10.     ENDCASE.
  11.  
GeSHi ©


Würde die Aktion bei der Nutzung eines Cookies, welches den Jahr Parameter enthält, einfacher?
Alva1590
.....
.....
 
Posts: 4387
Joined: Mon Dec 02, 2002 3:01 pm

Postby Chris247 » Wed May 26, 2004 10:53 am

Hi,

wenn Du von der DropDown Listbox Seite auf die Navigationsseite springen willst, musst Du halt

tableview_1.htm
in

navigation->goto_page( 'tableview_1.htm' ).

durch die Linkseite ersetzen.


Die Links hast Du mit

<htmlb:link id = "link1"
text = "Link mit Text"
reference = "ztest.htm"
tooltip = "Quick-Info mit Linkreferenz"
onClick = "MyLinkClick" />

definiert.

Im OIP kannst Du mit

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

IF event->name = 'link' AND event->event_type = 'click'.
DATA: link_event TYPE REF TO CL_HTMLB_EVENT_LINK.
link_event ?= event.
navigation->set_parameter( name = 'vselected' value = vselected ).
navigation->goto_page( link_event->reference ).
return.
ENDIF.

den betätigten Link abgreifen und auch den Parameter an die nächste Seite übergeben.

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


Return to BSP + BHTML

Who is online

Users browsing this forum: No registered users and 18 guests