DBGrid单击标题自动排序

原创 2006年06月23日 08:57:00
procedure TForm1.DBGrid1TitleClick(Column: TColumn); var s,cFieldName:string; i:integer; DataSet:TDataSet; begin Try DataSet:=Column.Grid.DataSource.DataSet; if not DataSet.Active then exit; if Column.Field.FieldKind=fkLookup then cFieldName:=Column.Field.KeyFields else if Column.Field.FieldKind=fkCalculated then cFieldName:=Column.Field.KeyFields else cFieldName:=Column.FieldName; if DataSet is TCustomADODataSet then begin s:=TCustomADODataSet(DataSet).Sort; if s='' then begin s:=cFieldName; end else begin if Pos(cFieldName,s)<>0 then begin i:=Pos('DESC',s); if i<=0 then begin s:=s+' DESC'; end else begin Delete(s,i,4); end; end else begin s:=cFieldName; end; end; TCustomADODataSet(DataSet).Sort:=s; end else if DataSet is TClientDataSet then begin if TClientDataSet(DataSet).indexfieldnames<>'' then begin i:=TClientDataSet(DataSet).IndexDefs.IndexOf('i'+Column.FieldName); if i=-1 then begin with TClientDataSet(DataSet).IndexDefs.AddIndexDef do begin Name:='i'+Column.FieldName; Fields:=Column.FieldName; DescFields:=Column.FieldName; end; end; TClientDataSet(DataSet).IndexFieldNames:=''; TClientDataSet(DataSet).IndexName:='i'+Column.FieldName; end else begin TClientDataSet(DataSet).IndexName:=''; TClientDataSet(DataSet).IndexFieldNames:=column.fieldname; end; end; Except End; end;

DBGridEh,DBGrid点击标题排序

最近在找关于解决DBGridEh,DBGrid点击标题排序的最简单方法的同时,发现说法很多,但是没有找到一个比较详细的。 所以我在这里做一个小的总结,有不足之处请大家多多指教。 首先说下关于DBG...
  • haynes
  • haynes
  • 2013年06月11日 14:01
  • 478

数据窗口单击标题栏自动进行排序,并显示升降序/拖动行可以改变行顺序

这是一个PB9写的数据窗口单击标题自动排序的标准datawindow对象forward global type uo_datawindow from datawindow end type end f...
  • yyoinge
  • yyoinge
  • 2011年05月26日 17:33
  • 2242

WPS文档标题自动排序的方法

  • 2015年09月23日 11:05
  • 231KB
  • 下载

JS点击标题自动排序

站长特效 js实现点击分类排序效果 站长特效网  * {   padding:0;   margin:0;  }  body {   font-family:verdana;   f...

单击列标题排序

  • 2004年07月08日 00:00
  • 12KB
  • 下载

Delphi中实现DBGrid列宽度自动调整

      发现一些ERP的软件的查询,查询出来结果之后,有的字段列宽过大,这时候要通过右键--初始化表格设置 这样的方式来调整表格的列宽。这样操作让人觉得麻烦,突然在网上看到这样的一篇文章,记下来备...

单击列标题排序

  • 2006年02月23日 09:05
  • 9KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DBGrid单击标题自动排序
举报原因:
原因补充:

(最多只允许输入30个字)