HTMLB Tableview

BusinessServerPages; Erstellung von Webapplikationen.

HTMLB Tableview

Postby Ava146 » Tue Mar 18, 2003 9:03 am

Hi, ich hoffe ihr könnt mir da weiterhelfen.

Ich hab einen Tabstrip, darauf liegt ein TableView.
Über den Columnname kann ich die Felder aus der internen Tabelle auslesen. Und man kann einer Column den Type 'Button' geben.
Ich möchte mit Click auf diesen Button den entsprechenden Datensatz gelöscht haben, bekomme aber die ID des Datensatzes nicht vom TableView an den EventHandler übergeben. Hat jemand ne Idee?

Gruss Aga

<htmlb:tableViewColumn columnName = "id"
type = "button"
onItemClick = "MyButton__"
>


</htmlb:tableViewColumn>
Ava146
..
..
 
Posts: 26
Joined: Fri Feb 14, 2003 12:25 pm

Postby Walter4536 » Tue Mar 18, 2003 12:25 pm

Hi Aga,

schau Dir mal die folgende BSP-Applikation an: 'HTMLB_samples'
und dort die Seite 'tableview.htm' starten. Das ist ein ziemlich gutes Beispiel, damit müßtest Du es hinbekommen. Kann sein, dass Du den Service erst noch aktivieren mußt: Transaktion SICF und dieser Pfad:
/default_host/sap/bc/bsp/sap/

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

Postby Ava146 » Tue Mar 18, 2003 1:31 pm

das ding hab ich schon gefunden, aber das hilft mir leider nicht so recht weiter.

Ich bin jetzt soweit

DATA: tv TYPE REF TO CL_HTMLB_TABLEVIEW.
tv ?= CL_HTMLB_MANAGER=>GET_DATA(
request = runtime->server->request
name = 'tableView'
id = 'cat' ).

IF tv IS NOT INITIAL.
DATA: tv_data TYPE REF TO CL_HTMLB_EVENT_TABLEVIEW.
tv_data = tv->data.

IF tv_data->prevSelectedRowIndex IS NOT INITIAL.



DATA: value TYPE STRING.

value = tv_data->GET_CELL_VALUE(
row_index = tv_data->prevSelectedRowIndex
column_index = '2' ).

endif.
endif.


aber leider gibt er mir keinen Wert für die value zurück.


hier nochmal das Layout:

<htmlb:tableView id = "cat"
headerText = "Kategorien"
headerVisible = "true"
design = "alternating"
visibleRowCount = "7"
width = "670"
fillUpEmptyRows = "true"
selectionMode = "SINGLESELECT"
onRowSelection = "onMyRowSelection"
keyColumn = "id"
table = "<%=i_kat%>" >

<htmlb:tableViewColumns>

<htmlb:tableViewColumn columnName = "Kategorie"

title = "Kategorie"
width = "20">

</htmlb:tableViewColumn>
<htmlb:tableViewColumn columnName = "beschreibung"

title = "Beschreibung" >

</htmlb:tableViewColumn>

<htmlb:tableViewColumn columnName = "myinputfield"
type = "user"
title = "Input Field"
cellInvalidKey = "invalid"
cellDisabledKey = "disabled"
horizontalAlignment = "center" >
<htmlb:inputField id = "test"
width = "100%"
value = "$id$"
type = "STRING"
/>

</htmlb:tableViewColumn>

</htmlb:tableViewColumns>
</htmlb:tableView>
Ava146
..
..
 
Posts: 26
Joined: Fri Feb 14, 2003 12:25 pm

Postby Ava146 » Tue Mar 18, 2003 2:17 pm

Jippie, das Problem wäre gelöst, der Code war fast richtig.

Man setze:

<htmlb:tableViewColumn columnName = "id" <-- name des auszugebenen Tabellenfeldes
type = "INPUT" <-- also nicht user
title = "Input Field"


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

Postby Walter4536 » Wed Mar 19, 2003 9:19 am

Hi Aga,

jetzt wollte ich mich gerade hinsetzen (weil im Moment ein bisschen Zeit) und mal nachschauen ... jetzt hast Du das auch noch gelöst ... ;-)
Prima :D
Bis bald.

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

Postby Ava146 » Wed Mar 19, 2003 9:40 am

Jo :)

Hab leider noch nicht rausbekommen, wie man diese INPUT Zelle auf nicht editierbar schaltet oder hidden oder so. Ich möchte ja nicht, das mir jeder User an meiner ID des Datensatzes rumfummelt!
Wenn du da zufällig auf anhieb ne Lösung parat hast, dann sach bescheid.

:lol:

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

Postby Walter4536 » Wed Mar 19, 2003 9:48 am

Hi,

so mal als 'Schnellschuss': Mit dem Attribut edit = 'FALSE' müßtest Du das eigentlich erreichen.

Also in etwa so:
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. <htmlb:tableViewColumn columnName = "id" <-- name des auszugebenen Tabellenfeldes
  2. type = "INPUT" <-- also nicht user
  3. title = "Input Field"
  4. edit = "FALSE"
  5. ...
  6.  
GeSHi ©


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

Postby Ava146 » Wed Mar 19, 2003 9:57 am

Jo, das war ja auch so meine Hoffnung, aber das hab ich gestern schon probiert, da ändert sich irgendwie gar nichts!!

Irgendwie komisch, aber wahr


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

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

Jo,

dann scheint type eine höhere Priorität zu besitzen als edit. Setz mal type auf "TEXT", ob das dann den gewünschten Erfolg bringt.

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

Postby Ava146 » Wed Mar 19, 2003 10:02 am

Bei type = "TEXT" kann man den Wert nicht mehr auslesen...
Ava146
..
..
 
Posts: 26
Joined: Fri Feb 14, 2003 12:25 pm

Next

Return to BSP + BHTML

Who is online

Users browsing this forum: No registered users and 3 guests