AGB  ·  Datenschutz  ·  Impressum  







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

Tdbadvgrid einfärben

Ein Thema von Drumbo · begonnen am 16. Jan 2014 · letzter Beitrag vom 17. Jan 2014
Antwort Antwort
Drumbo

Registriert seit: 18. Okt 2013
22 Beiträge
 
#1

Tdbadvgrid einfärben

  Alt 16. Jan 2014, 10:32
Morgen,

ich hab ein DbadvGrid in dem ich die Zeilen je nach Status einfärben mag.
Das klappt auch. Allerdings möchte ich nicht nur simpel die komplette Zeile einfärben sondern möchte einzelne
Zellen mit der Farbe clWindow versehen, sodass man direkt sieht, dass es sich hierbei um ein Eingabefeld handelt.
Dazu habe ich zwei Fragen:
1. Wie schaffe ich es nur eine Zelle und nicht die ganze Spalte zu adressieren bzw. einzufärben?
Über beispielweise : dbadvgrid.Cells[1,2].colors:=clwindow; geht das schonmal nicht.

2. Ist es überhaupt möglich die Farbe noch zuändern, wenn ich vorher die ganze Zeile mit folgendem Befehl eingefärbt habe.ABrush.Color := clRed; Habe mal versucht mit dbadvgrid1.columns[1].color:=clwindow; das zu testen das hat allerdings nicht funktioniert.
Dachte mir, dass ich erst alles einfärbe und direkt im anschluss die einzelnen Zellen adressiere und einfärbe.

Der Aufruf zum einfärben erfolgt bei mir in der GetCellColor Prozedur.
Hoffe ihr habt alle nötigen Angaben.

Gruß
  Mit Zitat antworten Zitat
Volker Z.

Registriert seit: 4. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#2

AW: Tdbadvgrid einfärben

  Alt 16. Jan 2014, 16:36
Hallo,

Zitat:
Wie schaffe ich es nur eine Zelle und nicht die ganze Spalte zu adressieren bzw. einzufärben?
Das geht mit DBAdvGrid1.Colors [ACol, ARow] := clWindow;
Zitat:
Ist es überhaupt möglich die Farbe noch zuändern, wenn ich vorher die ganze Zeile mit folgendem Befehl eingefärbt habe [...]
Ich weiß zwar nicht was Du genau versucht hast, aber vielleicht hilft Dir folgendes weiter:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  DBAdvGrid1.RowColor [1] := clBlue; // erste Zeile blau
  DBAdvGrid1.Columns [2].Color := clRed; // zweite Spalte rot
  DBAdvGrid1.Colors [1, 3] := clGreen; // Zelle erste Spalte, dritte Zeile grün
end;
So kannst Du die Farbe einer Zelle im OnGetCellColor ändern
Delphi-Quellcode:
 
procedure TForm1.DBAdvGrid1GetCellColor(Sender: TObject; ARow, ACol: Integer; AState: TGridDrawState; ABrush: TBrush; AFont: TFont);
begin
  if (ACol = 2) and (ARow = 1) then
    ABrush.Color := clWindow
end;
Gruß
Volker Zeller
  Mit Zitat antworten Zitat
Drumbo

Registriert seit: 18. Okt 2013
22 Beiträge
 
#3

AW: Tdbadvgrid einfärben

  Alt 17. Jan 2014, 15:04
Hey,

vielen dank für die Hilfe.Klappt jetzt.
Hatte nen denk Fehler drinne.

Grüße
  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 21:33 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