第一种方法(未测试)
procedure TForm1.DBGridEh1TitleClick(Column: TColumnEh);
begin
//点击GridEh标题排序
if (Column.Title.SortMarker = smNoneEh) or (Column.Title.SortMarker = smDownEh) then
begin
ADOQuery1.SORT := COLUMN.FIELDNAME;
Column.Title.SortMarker := smUpEh
end
else
begin
ADOQuery1.SORT := COLUMN.FIELDNAME + ' DESC';
Column.Title.SortMarker := smDownEh
end;
end;
第二种方法(未测试)
procedure TPrintMai_frm.DBGridEh1TitleClick(Column: TColumnEh);
var
sortstring: string;
begin //进行排序
with Column do
begin
if FieldName = '' then
Exit;
case Title.SortMarker of
smNoneEh:
begin
Title.SortMarker := smDownEh;
sortstring := Column.FieldName + ' ASC';
end;
smDownEh: sortstring := Column.FieldName + ' ASC';
smUpEh: sortstring := Column.FieldName + ' DESC';
end; //数据集排序。
try
DM.DataModule1.qry2.Sort := sortstring //dataset为实际数据集变量名
except
end;
end;
end;
(出处:http://www.delphibbs.com/keylife/iblog_show.asp?xid=4700)