procedure TMainForm.DBGrid1TitleClick(Column: TColumn);
begin
if Column <> nil then
DBGrid1.DataSource.DataSet.IndexFieldNames := Column.FieldName;
end;
begin
if Column <> nil then
DBGrid1.DataSource.DataSet.IndexFieldNames := Column.FieldName;
end;
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, Grids, DBGrids;type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
Query1: TQuery;
DataSource1: TDataSource;
procedure FormCreate(Sender: TObject);
procedure DBGrid1TitleClick(Column: TColumn);
private
str : string;
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
str :='select * from items';
query1.Close;
query1.SQL.Clear;
query1.SQL.Add(str);
query1.Open;
end;procedure TForm1.DBGrid1TitleClick(Column: TColumn);
var
s : string;
begin
s :=str+' order by '+column.Field.FieldName;
query1.Close;
query1.SQL.Clear;
query1.SQL.Add(s);
query1.Open;end;end.
中重写SQL(替换ORDER BY 部分)再OPEN
中重写SQL(替换ORDER BY 部分)再OPEN