HTMLB Tableview

BusinessServerPages; Erstellung von Webapplikationen.

Postby Walter4536 » Wed Mar 19, 2003 10:04 am

na gut, muss mal selbst rumprobieren. Meld mich wieder :-)
Walter4536
...
...
 
Posts: 315
Joined: Mon Dec 02, 2002 12:09 pm

Postby Eric408 » Fri Mar 21, 2003 9:34 am

Also wenn Ihr eine Lösung gefunden habt, würde mich das auch sehr interessieren. Ich bin zur Zeit kräftig am fluchen über diese BSP-Extensions...

Besten Dank und viele Grüße,

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

Postby Ava146 » Fri Mar 21, 2003 11:59 am

Hi B707,

ich hab ne Lösung für mein Problem gebastelt, wofür genau brauchst du denn ne Lösung?


Gruss Aga
Ava146
..
..
 
Posts: 26
Joined: Fri Feb 14, 2003 12:25 pm

Postby Eric408 » Fri Mar 21, 2003 12:40 pm

Hi Aga,

ich habe einen Tableview und in jeder Zeile mehrere Buttons, die jeweils andere Ereignisse auslösen sollen. Auf jeden Fall muss ich beim Betätigen jedes Buttons eine Datensatz-ID mitgeben und das klappt nicht. Diese ID bekomme ich nur, wenn ich den Tableview mit selectionMode = "singleselect" verwende und dann diesen Radiobutton am Zeilenanfang anklicke (will ich aber nicht, da ich -wie gesagt- mehrere Ereignisse zu einer Zele habe)

Hoffe das war verständlich erklärt...ich denke es ist genau das Problem, welches Du ganz oben beschrieben hast.

Viele Grüße,

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

Postby Ava146 » Fri Mar 21, 2003 12:58 pm

ich glaube, ich habe ungefähr verstanden, was du mir sagen willst :)

Also, ich habe die Ereignisse: Löschen und Anderung speichern

Deswegen verwende ich den TableView im selectionMode = "Lineedit"

Die Buttons liegen unter dem TableView.

Wie du siehst verwende ich auch die checkboxes am Anfang der Zeile.

OnRowSelect lese ich die ID aus und nicht nochmal, wenn ich einen der Buttons betätige. Und die gespeicherte ID übergebe ich dnn an meine Ereignisse. (Damit das klappt muss die Seite auf statefull gestellt sein und ID in den Seitenattributen stehen)


Welche Ereignisse willst du denn ausführen?

Gruss Aga
Ava146
..
..
 
Posts: 26
Joined: Fri Feb 14, 2003 12:25 pm

Postby Walter4536 » Fri Mar 21, 2003 1:02 pm

Hallo Zusammen,

bin gerade auch am Kämpfen mit dem tableview-element. Wenn ich's zum Laufen gebracht habe (hoffentlich noch heute), gibt's mehr ;-)

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

Postby Eric408 » Fri Mar 21, 2003 1:36 pm

agamemnon hat geschrieben:Deswegen verwende ich den TableView im selectionMode = "Lineedit"

Die Buttons liegen unter dem TableView.

Wie du siehst verwende ich auch die checkboxes am Anfang der Zeile.

OnRowSelect lese ich die ID aus und nicht nochmal, wenn ich einen der Buttons betätige. Und die gespeicherte ID übergebe ich dnn an meine Ereignisse. (Damit das klappt muss die Seite auf statefull gestellt sein und ID in den Seitenattributen stehen)

Welche Ereignisse willst du denn ausführen?


Es schaut hier aber so aus, dass nach dem Auswählen einer Zeile und vor dem Drücken eines Buttons die Seite neu geladen wird - solche eine Wartezeit will ich auf jeden Fall vermeiden, außerdem soll der User gleich mit einem Klick an sein Ziel kommen, deshalb würde ich mir wünsche ich könnte einfach 3 Buttons je Zeile haben.

Bei jedem der Buttons springe ich auf andere Seite, also mache ich keine Tabellenänderung. Ich könnte sowas wohl auch mit links/Imagelinks machen, aber irgendwie muss das auch mit Buttons klappen...

Steff hat geschrieben:bin gerade auch am Kämpfen mit dem tableview-element. Wenn ich's zum Laufen gebracht habe (hoffentlich noch heute), gibt's mehr ;-)


Gerade der tableview macht irgendwie keinen spaß ;-)

Grüße,

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

Postby Axel147 » Fri Mar 21, 2003 1:59 pm

ja, die Seite wird immer neu geladen, das wird ab dem 6.30 erst besser!

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

Aber sobald mir irgendwas einfällt, steht es hier.

Halt uns mal bitte auf dem Laufenden, über deine Fortschritte :)

Gruss Aga
Axel147
.
.
 
Posts: 2
Joined: Fri Mar 21, 2003 1:59 pm

Postby Walter4536 » Fri Mar 21, 2003 4:43 pm

Hallo Zusammen,

hab mal ein bisschen mit HTMLB TableView rumgespielt. Da wird einem schon eine Menge abgenommen (z.B. automatische Sortierung, Blättern, etc.)

Meine Seite sieht so aus:
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. <%@page language="abap"%>
  2. <%@ extension name="htmlb" prefix="htmlb" %>
  3.  
  4. <htmlb:content>
  5. <htmlb:page title = "Test">
  6.  
  7. <htmlb:form method="POST">
  8.         <htmlb:tableView id="1" table="<%= zsearchtable %>"
  9.          visibleRowCount="10"
  10.          design="ALTERNATING"
  11.          keyColumn="ZOBJKEY"
  12.          sort="SERVER"
  13.          columnHeaderVisible="TRUE">
  14.                 <htmlb:tableViewColumn columnName="ZSUP" title="Lieferant"
  15.                 sort="true"/>
  16.                 <htmlb:tableViewColumn columnName="ZPROC"
  17.                 title="Dokumententyp"
  18.                 sort="true"/>
  19.                 <htmlb:tableViewColumn columnName="ZBUYER" title="Einkäufer"/>
  20.                 <htmlb:tableViewColumn columnName="ZCREATED" title="Erstellt am"/>
  21.                 <htmlb:tableViewColumn columnName="ZOBJKEY" title="DocID"
  22.                 onCellClick="clickobjid"/>
  23.                 <htmlb:tableViewColumn columnName="ZSTAT" title="Status"/>
  24.                 <htmlb:tableViewColumn columnName="ZONUM" title="Bestellnummer"/>
  25.                 <htmlb:tableViewColumn columnName="ZCURR" title="Währung"/>
  26.                 <htmlb:tableViewColumn columnName="ZDESC" title="Beschreibung"/>
  27.                <htmlb:tableViewColumn columnName          = "linkid"
  28.                                         verticalAlignment   = "middle"
  29.                                         horizontalAlignment = "center"
  30.                                         type                = "imagelink"
  31.                                         linkColumnKey       = "linkcarrid"
  32.                                         linkClickTarget     = "_blank"
  33.                                         title               = "ImageLink"
  34.                                         dataType            = "string"
  35.                                         encode              = "false"/>
  36.         </htmlb:tableView>
  37.  
  38. </htmlb:form>
  39.  
  40. </htmlb:page>
  41. </htmlb:content>
  42.  
GeSHi ©


Im Event 'OnInputProcessing' folgendes:
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.     if event_data->event_type eq 'cellClick' or
  13.            event_data->event_type eq 'headerClick'.
  14.       table_event ?= event_data.
  15.  
  16. * Auswerten des events
  17. * in table_event->server_event kann man noch gezielter auf den in der
  18. * page definierten event abfragen. in obigem Fall: clickobjid
  19. * in table_event->column_key findet man die angeglickte Spalte
  20. * &#40;ZOBJKEY &#41; und in table_event->row_key den zugehörigen Wert, den
  21. * man dann für die Weiterverarbeitung verwenden kann.
  22.  
GeSHi ©


In diesem Fall wählt der User einen bestimmten Keywert aus und damit wird der Event 'onCellClick' ausgelöst den mann im OnInputProcessing wie oben beschrieben abfangen kann. Er wird dann auf eine Detailsicht weitergeleitet, wo dann nur die Daten bearbeitet werden können, die ich auch tatsächlich freischalten will. In der letzten Spalte versuche ich noch ein Image mit link unterzubringen. Demnächst mehr ...

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 11:34 am

Hi,

der TableView hat meine Nerven auch schon ganz schön angespannt :wink:
Ich hatte auch das Problem, daß nach dem Markieren eines Eintrags
die Seite immer wieder neu geladen wurde...
Nach langem Debugging habe ich jetzt einen TableView (ohne Selection Mode) angelegt und in diesen TableView eine Radiobutton-Gruppe eingebaut.
So kann ich einen Eintrag im TableView markieren, ohne daß die Seite neu geladen wird. Zusätzlich habe ich noch ein paar Buttons, mit denen ich die weitere Bearbeitung des markierten Eintrags steuern kann.
Das ganze funktioniert einwandfrei!

Hat jemand von euch schon einen Filter im TableView eingebaut?
Der Quelltext zur Filterverarbeitung wurde von der SAP anscheinend vergessen...??? :evil:

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

PreviousNext

Return to BSP + BHTML

Who is online

Users browsing this forum: No registered users and 5 guests

cron