Entwickler-Ecke

Datenbanken - DBGrid sortieren


Torsten Richter - Di 15.12.09 11:10
Titel: DBGrid sortieren
Hallo,

ich sortiere die Felder eines DBGrid beim klicken auf die Titelzeile

Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm1.DBGridBDEAuftragTitleClick(Column: TColumn);
begin
  if MeinDataSet.active  
   MeinDataSet.Sort:=Column.FieldName;
end;

soweit, sogut.

nun möchte ich diese Prozedur verallgemeinern, um sie für alle DBGrids zu nutzen und scheitere bei der Umsetzung
TitleClick übergibt die Spalte, daraus hole ich mir das Dataset mit

Delphi-Quelltext
1:
column.Grid.datasource.DataSet                    

Dieser Ausdruck kennt sehr viele Eigenschaften meines Datasets, wie z.B. active, aber nicht sort !!

jetzt versuche ich es mit einer Variablen, scheitere aber an der Konvertierung

Delphi-Quelltext
1:
2:
3:
var ds : TADODataSet;
     ds:= TADODataSet.Create(nil);
     ds:=(column.Grid.datasource.DataSet).AsTCustomADODataset;

diese Konertierung mit AsTCustomADODataset scheint es aber nicht zu geben

hat jemand eine Idee ?

tia
Torsten

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt


JDF - Mi 16.12.09 18:14

Hallo Torsten!

die Initialisierung deiner 'ds'-Variablen ist nicht in Ordnung.


Delphi-Quelltext
1:
2:
3:
var ds : TADODataSet;     
  ds:= TADODataSet.Create(nil);     
  ds:=(column.Grid.datasource.DataSet).AsTCustomADODataset;


Das sollte so etwa aussehen:


Delphi-Quelltext
1:
2:
3:
4:
5:
var ds : TADODataSet;
begin     
  ds := (column.Grid.datasource.DataSet) as TADODataSet;     
  ds.Sort := Column.FieldName;
end;


Gruß
Jürgen


Torsten Richter - Fr 18.12.09 10:53

Hallo Jürgen,

vielen Dank, hat geholfen.

gruss
Torsten