Hi, genau das hat mir auch weitergeholfen... Auch nochmal Danke von mir.
Ich hab das ganze etwas umgebaut, da ich mehrere DBGrids verwende und diese auf den selben Quelltext verweisen.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| procedure TMainForm.DBGridBookingTitleClick(Column: TColumn); begin if TDBGrid(MainForm.FindComponent('DBGrid' + DBTab.ActivePage.Name)).DataSource.DataSet is TCustomADODataSet then with TCustomADODataSet(TDBGrid(MainForm.FindComponent('DBGrid' + DBTab.ActivePage.Name)).DataSource.DataSet) do begin
TDBGrid(MainForm.FindComponent('DBGrid' + DBTab.ActivePage.Name)).Columns[TDBGrid(MainForm.FindComponent('DBGrid' + DBTab.ActivePage.Name)).Tag].Title.Color := clBtnFace; TDBGrid(MainForm.FindComponent('DBGrid' + DBTab.ActivePage.Name)).Columns[TDBGrid(MainForm.FindComponent('DBGrid' + DBTab.ActivePage.Name)).Tag].Title.Font.Color := clNavy;
Column.Title.Color := $00C08000; Column.Title.Font.Color := clWhite; TDBGrid(MainForm.FindComponent('DBGrid' + DBTab.ActivePage.Name)).Tag := Column.Index;
if (Pos(Column.FieldName, Sort) = 1) and (Pos(' DESC', Sort)= 0) then Sort := Column.FieldName + ' DESC' else Sort := Column.FieldName + ' ASC'; end;
end; |
Allerdings hab ich jetzt ein Problem. Sobald ich auf spezielle Titles klicke erscheint bei mir eine Fehlermeldung (vgl Screenshot). Allerdings tritt er nur bei speziellen Feldern auf. Ich habe z.B. drei Datums-Felder. Die ersten zwei Columns sortiert er korrekt und es kommt auch keine Fehler-Meldung - bei der dritten Column erscheint der Fehler - auch erscheint er bei manchen String/Currency-Columns.
Meine Access-DB besteht aus 5 Tabellen - bei 3 Tabellen funktioniert alles reibungslos, bei den anderen beiden kommt es immer bei den selben Columns zu diesem Fehler.
Hat jemand eine Ahnung, warum das so sein koennte? Ich denke nicht, dass es an der Struktur der Datenbank liegt oder an der Groesse der Felder...
MfG
NetSpider