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;

DBGrid单击标题自动排序

procedure TForm1.DBGrid1TitleClick(Column: TColumn); var  s,cFieldName:string;  i:integer;  DataSet:...
  • Jason009
  • Jason009
  • 2006年06月23日 10:40
  • 791

DbGrid标题单击排序

先定义全局变量:  var    F: Boolean;   procedure TMain.DBGrid1TitleClick(Column: TColumn); begin   if F   th...
  • dongzi502
  • dongzi502
  • 2014年01月15日 16:07
  • 236

实现点击DBGrid的Title对查询结果排序

//欲实现点击DBGrid的Title对查询结果排序,想作一个通用程序,不是一事一议,//而且点击另一个Title时又要另外排序,目的是想作到象资源管理器那样随心所欲。procedure TForm5...
  • wangyunyong0905
  • wangyunyong0905
  • 2007年10月12日 08:21
  • 493

DBGrid控件“点击标题栏自动排序功能”

 procedure TForm1.DBGrid1TitleClick(Column: TColumn); var  I,ii:Integer;  cStr:string;  c:TColumn; b...
  • ycagri
  • ycagri
  • 2007年01月10日 16:53
  • 677

delphi实现dbgrideh点击列自动排序

dbgrideh控件本身是支持点击列自动排列的,只要设置
  • baidu_20650485
  • baidu_20650485
  • 2014年11月04日 17:31
  • 1808

如何用DBGrid实现排序

我找到了使用 ADOQUERY 控件实现的方法,可做参考: 巧用DBGrid控件的Sort属性实现“点击标题栏自动排序功能 很多朋友在使用DBGrid控件时,抱怨没有点击标题栏便可自动排序的功能,...
  • zjluming
  • zjluming
  • 2014年03月07日 12:42
  • 1490

PB中单击列表框的列标题实现排序

PB中的高级控件列表框虽然没有其数据窗口控件那么功能强大,但因其操作方便,风格多样,依然受到很多PB程序的喜爱.下面的方法简单实现在列表框中单击列标题来排序的功能:// Sort the list b...
  • Luckeryin
  • Luckeryin
  • 2007年11月03日 23:08
  • 2083

Listview中实现点击栏目标题排序

请看下面的代码:listview的columns属性加4个列项,viewstyle属性设为vsReport,smallimage属性对应imagelist。imagelist加载图标。query1对应...
  • chenyq2008
  • chenyq2008
  • 2008年01月17日 10:32
  • 897

delphi 对指定DBGrid进行排序。

procedure TFrom1.DBG1TitleClick(Column: TColumn); var   i:integer; begin   if Pos('◆',Column.Tit...
  • Trassion
  • Trassion
  • 2012年02月22日 14:04
  • 2554

JS点击标题自动排序

站长特效 js实现点击分类排序效果 站长特效网  * {   padding:0;   margin:0;  }  body {   font-family:verdana;   f...
  • tian_yan71
  • tian_yan71
  • 2016年06月21日 20:54
  • 875
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DBGrid单击标题自动排序
举报原因:
原因补充:

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