Mehrfache Einträge im DropDownListBox

BusinessServerPages; Erstellung von Webapplikationen.

Mehrfache Einträge im DropDownListBox

Postby Ines588 » Tue Jun 23, 2009 10:41 am

Hallo,

ich arbeite mit MVC-Konzept und benutzt für das Anzeigen des Dropdownlistbox die Methode RENDER( ... ).
In einer INIT Methode erstelle ich das Objekt und weise die Werte zu. Dabei natürlich auch ne itab mit den Werten für den Bildschirm. Beim Starten der Anwendung habe ich die korrekten Werte angezeigt aber beim Neuladen werden mir die Einträge immer verdoppelt, obwohl(laut debugger) die itab nur die Ausgangswerte hat?

Beispiels
Beim Start:
-Wert1
-Wert2

beim Neuladen:
-Wert1
-Wert2
-Wert1
-Wert2

Beim erneuten Neuladen:
-Wert1
-Wert2
-Wert1
-Wert2
-Wert1
-Wert2

Woran liegt das?

LG
Ines588
..
..
 
Posts: 47
Joined: Thu Oct 23, 2008 11:47 am

Postby Angelina4671 » Tue Jun 23, 2009 12:26 pm

Halloechen,

vor dem Füllen der ITAB ist meist ein Refresh der Tabelle sinnvoll.

Sieht nach typischem Programmiererstandardfehler aus: vergessene Clears. :-)

Gruß TakerOne
Angelina4671
...
...
 
Posts: 116
Joined: Thu Jul 15, 2004 4:00 pm

Postby Ines588 » Tue Jun 23, 2009 12:33 pm

Ne du, daran liegtz nicht... Sonst wäre ja die itab beim zweiten Laden doppelt so voll ... ist sie aber nicht... Ich bin jetzt mit dem Debugger Zeile für Zeile durchgelaufen und Es gibt in der Klasse CL_HTMLB_DROPDOWNLISTBOX ein Attribut items ... Muss wohl durch irgendeine Vererbung oder Interface da rein kommen. Jedenfalls ist diese Attribut nach dem Neuladen noch mit den alten Werten gefüllt.

ALSO Clears fehlen nicht!!! Stell euch mal den Code bereit. Der wird im Constructor aufgerufen. Die Anwendung ist Statefull also wird dieser auch nur einmal aufgerufen.


Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1.   DATA: lh_counte                                          " Hilfsvariable für Überprüfung
  2.           TYPE i.                                          " ob Tabname im DDIC vorhandne
  3.  
  4.   FIELD-SYMBOLS: <itab> TYPE STANDARD TABLE.               " Feldsymbol für gener. itab
  5.  
  6.   CLEAR me->table.
  7.  
  8.   TRANSLATE me->h_tabnam TO UPPER CASE.                    " Großschreibung
  9.  
  10.   SELECT COUNT&#40; * &#41;                                        " Checke ob Tabname im DDIC vorhanden
  11.     FROM dd02l
  12.     INTO lh_counte
  13.    WHERE tabname EQ me->h_tabnam.
  14.  
  15.   IF sy-subrc EQ 0.                                        " Wenn gefunden
  16.  
  17.     CREATE DATA me->table                                  " Baue gener. itab für angegebene tabelle
  18.       TYPE STANDARD TABLE OF &#40;me->h_tabnam&#41;.
  19.     ASSIGN me->table->* TO <itab>.
  20.  
  21.     APPEND INITIAL LINE TO <itab>.                         " Füge eine Leere Zeile hinzu.
  22.  
  23.     SELECT *                                               " Hole alle Daten aus der angegeben tabel.
  24.       FROM &#40;me->h_tabnam&#41;
  25.       APPENDING CORRESPONDING FIELDS OF TABLE <itab>
  26.      ORDER BY PRIMARY KEY.
  27.  
  28.     UNASSIGN <itab>.
  29.  
  30.   ENDIF.
  31.  
GeSHi ©
Ines588
..
..
 
Posts: 47
Joined: Thu Oct 23, 2008 11:47 am


Return to BSP + BHTML

Who is online

Users browsing this forum: No registered users and 2 guests

cron