11. juni 2003 - 11:58
Der er
1 løsning
DBGrid sortering
Hej igen
Jeg har en DBGrid som jeg gerne vil have sorteret, informationerne hentes fra en MySQL database. DBgrid'en skal sorteres efter hvilken radiobutton brugeren trykker på, det er enten brugerid eller efternavn der skal sorteres efter.
Følgende komponenter er brugt: DBGrid, SQLConnection, SQLClientDataSet, DataSource og min SQLClientDataSource bruger ctQuery.
Synes ikke helt jeg har kunne finde noget på Eksperten.dk
MVH Struck og på forhånd tak...
nca
Juniormester
11. juni 2003 - 12:30
#1
Jeg sorterer efter nedenstående opskrift:
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
var
OldSQLStreng, SQLStreng: String;
SlutPos: Integer;
begin
With ADOQuery1 do begin
active:=False;
OldSQLStreng:=SQL.Strings[0];
SQL.Clear;
//SQLStreng:='Select TInstitutionsnummer,TUvServerNavn,TSkolenavn,TSkoleAdresse,TSkolePostnrBy,TSkoleTelefon from TSkoler ORDER BY ';
if Pos('ORDER',OldSQLStreng)>0 then
SlutPos:=Pos('ORDER',OldSQLStreng)-1
else
SlutPos:=Length(OldSQLStreng);
SQLStreng:=Copy(OldSQLStreng,1,Pos('ORDER',OldSQLStreng)-1);
SQLStreng:=SQLStreng+' ORDER BY '+Column.FieldName;
if OldSQLStreng=SQLStreng then SQLStreng:=SQLStreng+ ' DESC';
SQL.Add(SQLStreng);
Active:=True;
end;
end;
Jeg har en DBGrid, hvis dataset er en ADOQuery.
Alt efter hvilken kolonne man klikker på, laver jeg SQL-sætningen i Query'en om, og når jeg enabler Query'en vil den sorterer efter den nye streng.