1.添加引用:DBClient
2.置DBGridEh控件属性:
设置dghAutoSortMarking属性为true
设置希望排序的Column的TitleButton属性为true
3.//表格排序过程
procedure OrderGrid(dataSet:TClientDataset;orderField:string);
var
i:integer;
begin
if dataSet.IndexFieldNames<>'''''''' then
begin
i:=TClientDataSet(DataSet).IndexDefs.IndexOf(''''i'''' orderField);
if i=-1 then
begin
with Dataset.IndexDefs.AddIndexDef do
begin
Name:=''''i'''' orderField;
Fields:=orderField;
DescFields:=orderField;
end;
end;
dataSet.IndexFieldNames:='''''''';
dataSet.IndexName:=''''i'''' orderField;
end
else
begin
dataSet.IndexName:='''''''';
dataSet.IndexFieldNames:=orderfield;
end;
end;
procedure OrderGrid(dataSet:TClientDataset;orderField:string);
var
i:integer;
begin
if dataSet.IndexFieldNames<>'''''''' then
begin
i:=TClientDataSet(DataSet).IndexDefs.IndexOf(''''i'''' orderField);
if i=-1 then
begin
with Dataset.IndexDefs.AddIndexDef do
begin
Name:=''''i'''' orderField;
Fields:=orderField;
DescFields:=orderField;
end;
end;
dataSet.IndexFieldNames:='''''''';
dataSet.IndexName:=''''i'''' orderField;
end
else
begin
dataSet.IndexName:='''''''';
dataSet.IndexFieldNames:=orderfield;
end;
end;
4.在DBGridEh的OnTitleClick事件中调用
OrderGrid(DM.ClientDataset,Column.FieldName);
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




