Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.431 Beiträge
 
Delphi 7 Professional
 
#11

AW: Wie ziehe ich eine farbige Linie in einem DBGrid / DrawColumnsCell-Event?

  Alt 26. Nov 2021, 11:20
Das wird jetzt echt kompliziert

Was ich wissen möchte:

Wieviele Spalten liefert die Query, wenn Du die manuell im Selectstatement nachzählst. Ebenfalls 28, mehr oder weniger?

Die Spalten des DBGrids sind im Spalteneditor definiert. Wieviele sind das? Stimmt die Reihenfolge mit der im Select überein?
Wenn nein, wäre es möglich, dass Select so umzuschreiben, dass die Spaltenreihenfolge des Selects mit der Spaltenreihenfolge des DBGrids übereinstimmt?

Column.Field.FieldNo gibt an, an welcher Position sich das zur Spalte Column gehörende Feld in der Datenmenge befindet und nicht die Position in der Spaltenreihenfolge im DBGrid. Hier ist das - 1 vermutlich falsch. Hier würde ich eher vermuten, dass das Feld der Spalte, bei der Du i := Column.Field.FieldNo - 1; // 7 ermittelt hast, das achte Feld in der Datenmenge ist. Sollte es sich hierbei um das "letzte" Feld, also die rechts Spalte im DBGrid handeln, dann ändere doch bitte mal die Abfrage auf Monatsende auf if (Column.Field.FieldNo = 8) then Monatswechsel := false; Zugegeben, das ist jetzt auch nur reine Spekulation, aber man weiß ja nie

Eventuell könnte aber auch eine Abfrage auf if (Column.Index = DBGRid1.Columns.Count - 1) then Monatswechsel := false; zum Ziel führen oder alternativ "festverdrahtet": if (Column.Index = 28) then Monatswechsel := false;
  Mit Zitat antworten Zitat