AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[FMX] Stringgrid / Grid Zelle Färben

Ein Thema von Devil1925 · begonnen am 25. Okt 2016 · letzter Beitrag vom 26. Okt 2016
Antwort Antwort
Benutzerbild von Devil1925
Devil1925

Registriert seit: 20. Nov 2015
Ort: Saerbeck
236 Beiträge
 
Delphi 10.3 Rio
 
#1

[FMX] Stringgrid / Grid Zelle Färben

  Alt 25. Okt 2016, 08:00
Hallo,
Ich weiss, dass es hier dieses Thema schon zu hunderten gibt, aber entweder war ich zu blöd das richtige zu finden oder das ist wirklich alles nur für VCL, was mir nicht weiter hilft.

Ich muss in einer Spalte die Zellen je nach Inhalt einfärben (so a la Ampel in grün, gelb oder rot).
Soweit so gut. Um mit der Zelle zu Interagieren gehe ich über das onDrawCell - Event. An den Inhalt komme ich ja nun über Value ran. Kein Problem. Jetzt habe ich nur das Problem, das ich die Zelle irgendwie einfärben muss. Da habe ich schon eine Ganze menge Probiert, es hat bisher aber noch nichts ansatzweise funktioniert!

Folgendes Habe ich probiert:

Delphi-Quellcode:
procedure TfrmProjekt.GRD_ProjektDrawColumnCell(Sender: TObject;
  const Canvas: TCanvas; const Column: TColumn; const [Ref] Bounds: TRectF;
  const Row: Integer; const [Ref] Value: TValue; const State: TGridDrawStates);
begin
        Canvas.Fill.Color := TAlphaColorRec.Yellow;
End;
Delphi-Quellcode:
procedure TfrmProjekt.GRD_ProjektDrawColumnCell(Sender: TObject;
  const Canvas: TCanvas; const Column: TColumn; const [Ref] Bounds: TRectF;
  const Row: Integer; const [Ref] Value: TValue; const State: TGridDrawStates);
begin
        GRD_Projekt.Canvas.Fill.Color := TAlphaColorRec.Yellow;
        GRD_Projekt.Canvas.FillRect(Bounds);
End;
Ich habe auch einige Lösungen gefunden, welche auf die Eigenschaft "CellControlByRow" zugreifen, welche es aber in FMX scheinbar nicht gibt!

Hat hier jemand eine Idee?
Philipp
Höllische Grüße
Devil
Meistens sitzt das Problem vor dem Bildschirm! - Leider bin das oftmals ich.
  Mit Zitat antworten Zitat
Whookie

Registriert seit: 3. Mai 2006
Ort: Graz
441 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: [FMX] Stringgrid / Grid Zelle Färben

  Alt 25. Okt 2016, 08:22
Bin zwar kein FMX-Spezialist hab das aber mal kurz probiert:

Delphi-Quellcode:
procedure TForm2.StringGrid1DrawColumnCell(Sender: TObject; const Canvas: TCanvas; const Column: TColumn; const Bounds: TRectF; const Row: Integer;
  const Value: TValue; const State: TGridDrawStates);
begin
  if (Row=2) And (Column=StringColumn1) then
  begin
    Canvas.Fill.Color := TAlphaColorRec.Yellow;
    Canvas.FillRect(Bounds, 0, 0, [], 100, Canvas.Fill);
  end;

end;
und scheint zu klappen...
Whookie

Software isn't released ... it is allowed to escape!
  Mit Zitat antworten Zitat
Benutzerbild von Devil1925
Devil1925

Registriert seit: 20. Nov 2015
Ort: Saerbeck
236 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: [FMX] Stringgrid / Grid Zelle Färben

  Alt 25. Okt 2016, 08:37
Danke, war dementsprechend wohl einfach zu blöd Canvas.FillRect richtig zu verwenden .-.

Vielen Dank, das Funktioniert genau wie gehofft.
Philipp
Höllische Grüße
Devil
Meistens sitzt das Problem vor dem Bildschirm! - Leider bin das oftmals ich.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.908 Beiträge
 
Delphi 12 Athens
 
#4

AW: [FMX] Stringgrid / Grid Zelle Färben

  Alt 26. Okt 2016, 06:43
Verstehe zwar nicht was du vorhast, aber warum nimmst du nicht die Styles-System dafür ?
Das ist genau für solche Dinge gedacht, und man kann einiges anpassen.

Rollo
  Mit Zitat antworten Zitat
Benutzerbild von Devil1925
Devil1925

Registriert seit: 20. Nov 2015
Ort: Saerbeck
236 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: [FMX] Stringgrid / Grid Zelle Färben

  Alt 26. Okt 2016, 15:03
Es geht darum, die Farbe der Zelle je nach inhalt zu ändern.
Es ist eine Tabelle, in welcher eine Spalte eine "Ampel" darstellt. Hier wird die Zelle z.B. grün gefärbt, wenn der Wert unter 50 % ist, zwischen 50 % und 100 % wird sie Gelb dargestellt und bei über 100 % dann Rot.

Wenn dass auch mit dem Styles - System geht, wäre das natürlich auch super, müsste man mir nur verraten, wie das Geht.
Philipp
Höllische Grüße
Devil
Meistens sitzt das Problem vor dem Bildschirm! - Leider bin das oftmals ich.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.908 Beiträge
 
Delphi 12 Athens
 
#6

AW: [FMX] Stringgrid / Grid Zelle Färben

  Alt 26. Okt 2016, 17:45
Also du nutzt FMX, richtig ?

Da würde ich dann vielleicht etwas aus geometrischen Shapes zusammenbauen, wie TRectangle, TPath, etc.
Die kann man wunderbar grafisch kombinieren, und auch die Farben ändern.

Mit Styles geht sowas natürlich auch, da geht es aber gleich um die ganze Anwendung.

Rollo
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz