editierbares Grid Farben in einzelnen Zellen

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
6 Beiträge • Seite 1 von 1
6 Beiträge Seite 1 von 1

editierbares Grid Farben in einzelnen Zellen

Beitrag von PeterPaletti (Specialist / 336 / 29 / 96 ) »
Hallo,
ich suche eine Möglichkeit eingabebereite Zellen in einem ALV-Grid farbig hervorzuheben. Die Zellen sind von Zeile zu Zeile unterschiedlich eingabebereit. Mussfelder sollen gelb hervorgehoben werden, normale Eingabefelder grau.
Grundsätzlich wird die Eingabebereitschaft eines ALV-Grid über LVC_S_STYL gesteuert. Die Farbe aber auch, und zwar im selben Feld STYLE. Was mache ich aber wenn das Feld sowohl eingabebreit sein soll und farbig?
Und welches sind die Farbcodes für gelb und grau?
Fragen über Fragen, hoffentlich weiß jemand die Antwort

Gruß
Peter

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: editierbares Grid Farben in einzelnen Zellen

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
Ich glaube, das kannst du leider nicht beeinflussen. Genauso wenig wie du beeinflussen kannst, dass markierte Zellen gelb/ orange dargestellt werden.

Re: editierbares Grid Farben in einzelnen Zellen

Beitrag von black_adept (Top Expert / 3946 / 105 / 886 ) »
Hallo Peter,

kopier dir mal das Programm BCA LV_EDIT_09 auf ein eigenes Programm und ergänze das Coding wie dargestellt in der Form-Routine fill_celltab: ( sollte etwa Zeile 240 sein )

Code: Alles auswählen.

      IF l_index1 > 100 AND l_index1 <= 200.
* do nothing for row style  and cell style
* set cell style:
        ls_celltab-fieldname = 'CARRID'.
*-- Hier Änderung des Demoprogramms - Start
*        ls_celltab-style = cl_gui_alv_grid=>mc_style_disabled.
        ls_celltab-style = cl_gui_alv_grid=>mc_style_enabled.
        DATA: color TYPE i.
        color = l_index1 MOD 20.
        ls_celltab-style = ls_celltab-style + color.
*-- Hier Änderung des Demoprogramms - Ende
        INSERT ls_celltab INTO TABLE pt_celltab.
        ls_celltab-fieldname = 'CONNID'.
        ls_celltab-style = cl_gui_alv_grid=>mc_style_disabled.
        INSERT ls_celltab INTO TABLE pt_celltab.
.

Ab Zeile 100 wird dir dann das Feld CARRID eingabebereit aber farbig hervorgehoben angezeigt.
Programm ausführen und "Styles Set for Rows" im Selektionsbild anhaken und ALV-Anzeige sehen. In der Buttonleiste auf den "Edit"-Button drücken um das Grid eingabebereit zu machen ein wenig nach unten scrollen um die eingabebereiten Felder zu sehen.
Grau scheint es nicht zu geben - aber Gelb ist 4 (hell) oder 12 (intensiv) zu sein.

Nachtrag ( geändert um 11:46)
Wenn du statt "MOD 20" "MOD 100" nimmsgt bekommst du auch fette Eingabefelder oder solche wo die Schrift statt des Hintergrunds farbig ist ( aber alles eingabebereit )

PPS: Das Board ist noch nicht auf Sommerzeit umgestellt
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: editierbares Grid Farben in einzelnen Zellen

Beitrag von a-dead-trousers (Top Expert / 4285 / 214 / 1141 ) »
hi!

Zur Info:
Das Feld STYLE in der Struktur LVC_S_STYL ist eine Bit-Maske. Sprich wenn das BIT an der Position X gesetzt ist wird eine bestimmte Eigenschaft gesetzt.
In der Klasse CL_GUI_ALV_GRID gibt es dafür auch Konstanten: MC_STYLE_*

Übrigens funktioniert zwar auch das Einfärben über die Styles, ich persönlich bevorzuge aber den Weg über die Funktion "Zellen einfärben" des ALV (LVC_S_SCOL)
Da kann man für die Farben die Konstanten des Format-Color-Befehls (COL_HEADER, COL_BACKGROUND usw.) verwenden und "Intensified" sowie "Inverse" sind eigene Optionen. Damit, finde ich, ist das Coding ein wenig lesbarer.

lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: editierbares Grid Farben in einzelnen Zellen

Beitrag von black_adept (Top Expert / 3946 / 105 / 886 ) »
Hallo ADT,

bekommt man mit deiner Vorgehensweise auch farbige Eingabefelder hin oder übersteuert in so einem Fall die Eingabebereitschaft die Farbigkeit?
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: editierbares Grid Farben in einzelnen Zellen

Beitrag von PeterPaletti (Specialist / 336 / 29 / 96 ) »
Ich habe das jetzt, mit der Verwendung von LVC_S_COL umgesetzt, wie ADT vorgeschlagen hat.
Die Felder sind farbig und eingabebereit.
Wenn man in einer Zelle aktiv ist, wechselt die Farbe ins bekannte Orange, aber wenn man die Zelle verlässt, ist die ursprüngliche Farbe wiederhergestellt.

Vielen Dank für Eure Anregungen und Hilfe.

Gruß
Peter

Seite 1 von 1

Vergleichbare Themen

2
Antw.
15791
Views
ALV GRID - einzelne Zelle färben
von sp89 » 14.12.2010 13:07 • Verfasst in ABAP® für Anfänger
8
Antw.
3857
Views
Zellen auf Alv grid farbig.
von Chrisp83 » 23.10.2007 11:48 • Verfasst in ABAP® für Anfänger
6
Antw.
3236
Views
ALV GRID einzelne Zellen ausblenden
von ek53 » 06.04.2017 15:41 • Verfasst in ABAP® für Anfänger
3
Antw.
2911
Views
ALV-Grid ausblenden einzelner Zellen
von SAP_ENTWICKLER » 31.01.2014 07:19 • Verfasst in ABAP® Core
10
Antw.
14094
Views
Einzelne Zellen im ALV-Grid farblich gestalten
von honeyjam » 16.02.2011 18:12 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.