Projekt

Allgemein

Profil

Aktionen

410 Sonderspalten in Grids- F2-Fenstern » Historie » Revision 15

« Zurück | Revision 15/16 (diff) | Weiter »
[E] Frank S, 22.02.2023 11:45


Sonderspalten in Grids- / F2-Fenstern

CimColor per SQL

Auflistung weiterer Steuerfelder : [[prodat-v-x:Sonderfelder im SQL]]
bekannte CimFarb-Konstanten : [[prodat-v-x:CimColor]] (z.B. CimRed)
Entwicklungs-Tickets : Aufklappen

Farben per SQL in Prodat werden per Spaltenname und BOOL an bestimmten Oberflächen erzeugt.
Mehrere gleichartige Spaltenbezeichnungen werden interpretiert und bei True dargestellt.
Gelb gewinnt vor Grün, Rot gewinnt vor Gelb und Grün. Feldreihenfolge: der Erste mit True gewinnt

Verfügbare Farben:
  • CimRed CimYellow CimGreen CimBlue CimBrown CimGray
Verfügbare Oberflächen:
  • F2 und F4
  • tabellarische Oberflächen (EditTable)
  • Assistenten (Stand 06.2016: bei Einigen schon vorhanden, aber soll demnächst bei Allen dran > http://redmine.prodat-sql.de/issues/5495)
  • SQL - abfragen
  • und überall, wo der TCimColumnHandler angebunden ist
    • TCimColumnHandler in Oberfläche, Propertie zuweisen, EnableColor
    • TCimColumnHandler.InitColumns nach dem Öffnen des DataSet aufrufen
    • Grid.OnCustomDrawCell mit "CimColumnHandlerFSL.RowStyle(ACanvas, AViewInfo);" "Bestücken"
In weiter Oberflächen einbauen:
  • [[prodat-v-x:CimColumnHandler]] auf Form legen
    • GridView und Query angeben
    • in Options das EnableColor aktivieren
  • Events anhängen
    • nach Query.Load > CimColumnHandler1.InitColumns;
    • in GridView.OnCustomDrawCell > CimColumnHandler1.RowStyle(ACanvas, AViewInfo);
  • ggf. die Spalte (z.B.: abc_cimred) mit ins Grid aufnehmen (Visibles false)

Beispiel: ganze Zeile wird gefärbt

SELECT 1, true AS CimGreen, false AS CimYellow, false AS CimRed  -- Grün
UNION
SELECT 2, false, true, false  -- Gelb
UNION
SELECT 3, false, false, true  -- Rot
UNION
SELECT 4, true, true, false  -- Grün (Gelb überstimmt)
UNION
SELECT 5, true, true, true  -- Grün (Gelb und Rot überstimmt)

ORDER BY 1

Beispiel: ganze einzelne Spalte wird gefärbt

SELECT ld_auftg, true AS ld_auftg_CimGreen, ld_pos FROM auftg LIMIT 1

Ausführliche Beschreibung

mögliche Felder

CimRed CimYellow CimGreen CimBlue CimBrown CimGray
CimColor
CimBold CimItalic CimUnterline CimStrikeOut
CimFontRed CimFontGreen CimFontGray
CimFormat
  • Gültigkeit: ganzzeilig
  • Gültigkeit: Spalte oder Zelle mit Feldname als Präfix "field_format" (z.B. ak_nr_cimred)
  • Auswertung: das erste Vorkommen (ungleich NULL, FALSE und '') hat immer Vorrang
    • es gilt die Erstellungsreihenfolge der Columns -> stimmt aber meistens mit der Reihenfolge der SQL-Felder überein (Daten aus Cache des Grids)
  • doppelt gejoint möglich (cimred, cimred_1, cimred_2 bis cimred_3)

Aufklappen


Von [E] Frank S vor etwa 1 Jahr aktualisiert · 15 Revisionen