TTable 控件怎么实现 DBGrid的单击标题排序

 我来答
寄崇壹5106
2017-07-11 · TA获得超过412个赞
知道小有建树答主
回答量:490
采纳率:40%
帮助的人:438万
展开全部

如果你采用ADO,那么这是很简单的: 
ADOTable1.Sort:=DBGrid1.Columns[Column.Index].FieldName;



在OnTitleClick事件中调用就可以了 
Procedure OW_OrderADOGrid(Column: TColumn); 
Var 
DataSet: TDataSet; 
FieldNames:String; 
Begin 
if not Column.Field.DataSet.Active then abort; 
if not (Column.Field.FieldKind in [fkData,fkLookup]) then exit; 
DataSet := Column.Field.DataSet; 
if Column.Field.Lookup then 
FieldNames:= Column.Field.KeyFields 
else 
FieldNames:=Column.Field.FieldName; 

if DataSet is TCustomADODataSet then 
with TCustomADODataSet(DataSet) do 
begin 
if (Pos(FieldNames, Sort) = 1) and (Pos(' DESC', Sort) = 0) then 
Sort := FieldNames + ' DESC' else 
Sort := FieldNames + ' ASC'; 
end; 
end;

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式