Forum: Programmieren allgemein
Delphi
by Delphi.Narium,
26. Nov 2021
Also kurz und knapp:
Das Ganze ist hoch dynamisch.
Momentan hab' ich da keine Idee.
Es scheint wohl so zu sein, dass man nicht davon ausgehen kann, dass alle Zellen von oben links beginnend nach rechts und schön zeilenweise gezeichnet werden, sondern so, wie es das DBGrid für richtig hält bzw. nur jeweils die Zellen, deren Neuzeichnen tatsächlich erforderlich ist. Also z. B. nur der...
Forum: Programmieren allgemein
Delphi
by Delphi.Narium,
25. Nov 2021
Probiere bitte mal folgendes:
Statt
i := Columns.Count; // Columns.Count nimmt er, doch "interner Fehler", er scheint falsch zu zählen.
if (DataCol > 12) // das funktioniert jetzt, doch nur für > 12?! ich lasse das einmal so, weil es nicht lohnt. d.h. die Striche sind lang, doch nicht bis zum Ende
then Monatswechsel := false;
bitte
i := DBGrid1.DataSource.DataSet.FieldCount; // Anzahl...
Forum: Programmieren allgemein
Delphi
by Delphi.Narium,
25. Nov 2021
Hast Du zufällig Spalten, bei denen Visible auf false gesetzt ist?
Eventuell fallen die bei der Zählung ja raus, weshalb dann die erwartete Spaltenzahl und die tatsächlich gegebene Spaltenzahl nicht so ganz zusammenpassen.
Vergleiche doch bitte mal in DBGrid_TraDrawColumnCell die Inhalte von DataCol und Column.Field.FieldNo. Passt das "irgendwie" zusammen? Bei DataCol würde ich die...
Forum: Programmieren allgemein
Delphi
by Delphi.Narium,
25. Nov 2021
Bitte nur den Code aus DBGrid_TraDrawColumnCell. Der Rest interessiert (erstmal) nicht, damit ich verstehen kann, was Du genau in der Prozedur machst. Ggfls. als Kommentar reinschreiben: "DataCol ist immer irgendwas von 0 bis 12, erwarte dort aber 0 bis 28."
Dergleichen für alle für Dich offensichtlichen oder nicht nachvollziehbaren Unstimmigkeiten zwischen dem Gewünschten / Beabsichtigtem und...
Forum: Programmieren allgemein
Delphi
by Delphi.Narium,
25. Nov 2021
Die 12 besagt doch, dass nach 12 Spalten ein Monatswechsel nicht mehr gegeben ist. Ist das denn so gewünscht? Soll der Monatswechsel nicht beim Wechsel des Monats zwischen zwei Zeilen erfolgen?
In DrawColumnCell stehen Dir nur die Werte aus der aktuellen Zeile der Datenmenge zur Verfügung, von daher ist es nicht möglich, nur mit Werten aus dieser Zeile innerhalb der Prozedure zu entscheiden,...