Page 2 of 3

PostPosted: Wed Mar 19, 2003 10:04 am
by Walter4536
na gut, muss mal selbst rumprobieren. Meld mich wieder :-)

PostPosted: Fri Mar 21, 2003 9:34 am
by Eric408
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

PostPosted: Fri Mar 21, 2003 11:59 am
by Ava146
Hi B707,

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


Gruss Aga

PostPosted: Fri Mar 21, 2003 12:40 pm
by Eric408
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.

PostPosted: Fri Mar 21, 2003 12:58 pm
by Ava146
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

PostPosted: Fri Mar 21, 2003 1:02 pm
by Walter4536
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

PostPosted: Fri Mar 21, 2003 1:36 pm
by Eric408
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.

PostPosted: Fri Mar 21, 2003 1:59 pm
by Axel147
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

PostPosted: Fri Mar 21, 2003 4:43 pm
by Walter4536
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

TableView - Eintrag bearbeiten ohne Selection Mode

PostPosted: Wed Mar 26, 2003 11:34 am
by Chris247
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ß