Autor Beitrag
Torsten Richter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Di 15.12.09 12:10 
Hallo,

ich sortiere die Felder eines DBGrid beim klicken auf die Titelzeile
ausblenden 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
ausblenden 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
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 29

WinNT, Win2k, WinXP, Win2003
d6ent, d7pro, bds2006ent, vs2003
BeitragVerfasst: Mi 16.12.09 19:14 
Hallo Torsten!

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

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


Das sollte so etwa aussehen:

ausblenden 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 Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Fr 18.12.09 11:53 
Hallo Jürgen,

vielen Dank, hat geholfen.

gruss
Torsten