Avatar billede struck Nybegynder
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...
Avatar billede 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.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester