Einzelnen Beitrag anzeigen

Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Größter Wert einer Zeile im DBGrid farblich hinterlegen

  Alt 30. Okt 2015, 18:53
Hi waldforest

Ich würde das grundsätzlich anders lösen - Die Prozedur gehört meiner ersten Reaktion nach nicht in OnDrawCell:

Delphi-Quellcode:
 Type TFeldnamemn = ('VK_1_MENGE','VK_2_MENGE','VK_3_MENGE','VK_4_MENGE','VK_5_MENGE','VK_6_MENGE');

 TBigest = record
   Wert : dein Datentyp;
   ARow: Integer;
   ACol: Integer;
 end;
...
...
private
...
FBigest: TBigest;
...
...

procedure TForm1.jvdbgrd_GridDrawColumnCell;
  Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
var
  I, J: Integer;
  str_feld : string ;
  begin
    for i := 0 to jvdbgrd.row.Count -1 do
    begin
      for j := 0 to jvdbgrd.col.Count -1 do
      begin
        (Nun liest du den Wert der Zelle und belegst Bigest.Wert damit, sofern deren Wert kleiner ist.)
        (Gleichzeitig musst du die Koordinaten der Zelle in Bigest ARow und Bigest ACol speichern.I)
      end;
    end;

  end;
ColorToBigestValueField;
In einer 2. Reaktion kann sie da bleiben. Alles, was tu tn musst, ist, zu prüfen, ob der Spaltentitel in TFeldnamen vorkommt. Wenn ja, wird, wie oben gezeigt, der Wert in den Record geschri

ColorToBigestValueField ist eine Prozedur, die das im Record angegebene Feld des Grid im Nachinein einfärbt. Die habe ich jetzt allerdings nicht entworfen.

Gruss
Delbor

PS:
Zitat:
einer DBGrid Zeile
Ups, da hab ich doch tatsächlich Zelle gelesen, wo Zeile stand - es bräuchte also einne Anpassung. Aber das Prinzip ändert sich nicht
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch

Geändert von Delbor (30. Okt 2015 um 18:59 Uhr)
  Mit Zitat antworten Zitat