Discussion:
ALV Grid Control für Fortgeschrittene
(zu alt für eine Antwort)
Markus
2005-09-06 08:26:51 UTC
Permalink
Hi Leute,

ich habe ein Grid-Control, mit einer eingabebereiten Spalte.
Das funktioniert auch wunderbar.
Nun möchte ich aber einzelne Felder aus der an sich eingabebereiten Spalte
auf nicht eingabebereit setzen.

Geht das überhaupt??
Wenn ja, wie fang ich das an ?
--
Viele Grüsse
Markus
Frank Freyer
2005-09-07 05:10:23 UTC
Permalink
Post by Markus
Hi Leute,
ich habe ein Grid-Control, mit einer eingabebereiten Spalte.
Das funktioniert auch wunderbar.
Nun möchte ich aber einzelne Felder aus der an sich eingabebereiten Spalte
auf nicht eingabebereit setzen.
Geht das überhaupt??
Wenn ja, wie fang ich das an ?
--
Viele Grüsse
Markus
Schau Dir mal BCALV_EDIT_02 in Paket SLIS an.
Ansonsten ist SLIS immer einen Besuch wert, wenn's um ALVs geht...

Gruß
Frank
n***@gmx.net
2005-09-07 05:34:29 UTC
Permalink
Hallo Markus,

das kann man ganz einfach mit einer Celltab für jede einzelne Zeile
steuern.

Beispieltyp:
types: begin of ty_example,
name type text20,
alter type sy-datum,
ct type lvc_t_styl,
end of ty_example.

ct ist hier eine Tabelle in der du angeben kannst, ob einzelne Felder
der Datenzeile eingabebereit sind oder nicht. Konstanten zum Steuern
der Inputfähigkeit gibt es in der Klasse cl_gui_alv_grid.
Nie wieder Tablecontrol :-).

newsreader
Markus
2005-10-14 09:37:33 UTC
Permalink
Post by n***@gmx.net
Hallo Markus,
das kann man ganz einfach mit einer Celltab für jede einzelne Zeile
steuern.
types: begin of ty_example,
name type text20,
alter type sy-datum,
ct type lvc_t_styl,
end of ty_example.
ct ist hier eine Tabelle in der du angeben kannst, ob einzelne Felder
der Datenzeile eingabebereit sind oder nicht. Konstanten zum Steuern
der Inputfähigkeit gibt es in der Klasse cl_gui_alv_grid.
Nie wieder Tablecontrol :-).
newsreader
Hallo newsreader,

da bin ich nochmal.Hat etwas gedauert, habe ich hatte Urlaub..
Danke schon mal für deinen Hinweis, aber ich hätte da noch ein paar Fragen:
Muß ich die Klassen verwenden oder geht das auch mit den Reuse-Fubas?
Und kannst Du mir bitte noch einen Tipp geben, wo in der Klasse
cl_gui_alv_grid ich die von Dir angesprochen Konstanten finden kann?
Die Klasse ist ja riesig.
Vielen dank schon mal im voraus !!
--
Viele Grüsse
Markus
n***@gmx.net
2005-10-22 13:41:29 UTC
Permalink
Hallo Markus,

könnte sein, dass das auch mit den Fubas funktioniert, aber ich
verwende nur mehr die Klassen, weil man damit eigentlich viel freier
ist. Man kann das Control dann nämlich selbst auf den Dynpros
plazieren oder ausblenden etc. Auch eigene Eventhandler in
selbstgeschriebenen Handlerklassen auf Events von CL_GUI_ALV_GRID sind
nur so möglich. Bei den Funktionsbausteinen muss man da glaube ich
Callbackunterprogramme verwenden, was zwar auch geht aber nicht
wirklich schön ist. Wenn Du den ALV editierbar machen willst, solltest
Du einen Eventhandler für DATA_CHANGED schreiben und ihn nach Deiner
Instanzierung von CL_GUI_ALV_GRID registrieren, damit er überhaupt
reagiert. Das ganze Controlframework ist eigentlich nur dann voll
nutzbar wenn man sich auf ABAP-Objects einlässt. Die Konstanten nennen
sich übrigens MC_STYLE_DISABLED und MC_STYLE_ENABLED. Zugriff bekommst
Du dann z.b. über CL_GUI_ALV_GRID=>MC_STYLE_DISABLED. Bei der
Styletabelle vom Type lvc_t_styl funktionieren übrigens nur INSERTS
und es dumpt bei APPEND, da es sich um eine SORTED TABLE handelt. Es
gibt da übrigens ein PDF namens "An Easy Reference for ALV Grid
Control" im Sap Developer Network https://www.sdn.sap.com , welches
sehr schön die fortgeschrittenen Techniken des ALV-Grids erklärt. Da
solltest Du auf jeden Fall einmal reinschauen. User kann man kostenlos
anlegen.

Gruß
newsreader

Loading...