dbgrideh点击标头排序函数

转载 2007年09月12日 10:31:00
procedure SortDBGridEh(Sender: TObject; ACol: Integer; Column: TColumnEh);
var
  FieldName : 
string;
  SortStr   : 
string;
begin
  Screen.Cursor :
= crSQLWait;
  
try
    
if (Sender is TDBGridEh) and ((Sender as TDBGridEh).DataSource.DataSet <> nil) then
    begin
      
if not ((Sender as TDBGridEh).DataSource.DataSet is TCustomADODataSet) then
        Exit;
      
if not (Sender as TDBGridEh).DataSource.DataSet.Active then
        Exit;
      FieldName :
= Column.FieldName;
      
if (Sender as TDBGridEh).DataSource.DataSet.FindField(FieldName).IsBlob then
        Exit;
      
if (Sender as TDBGridEh).DataSource.DataSet.FieldByName(FieldName).FieldKind =fkData then
        SortStr :
= FieldName
      
else if (Sender as TDBGridEh).DataSource.DataSet.FieldByName(FieldName).FieldKind =fkLookup then
        FieldName :
= (Sender as TDBGridEh).DataSource.DataSet.FieldByName(FieldName).KeyFields
      
else
        FieldName :
= '';
      
if (FieldName = '') or (Pos(';', FieldName) > 0) then
        Exit;
      
case Column.Title.SortMarker of
        smNoneEh:
        begin
          TCustomADODataSet((Sender 
as TDBGridEh).DataSource.DataSet).Sort :=FieldName+' DESC';
        end;
        smUpEh:
        begin
          TCustomADODataSet((Sender 
as TDBGridEh).DataSource.DataSet).Sort :=FieldName + ' DESC';
        end;
        smDownEh:
        begin
          TCustomADODataSet((Sender 
as TDBGridEh).DataSource.DataSet).Sort := FieldName;
        end;
      end;
    end;
  
finally
    Screen.Cursor :
= crDefault;
  end;
end;
 

相关文章推荐

delphi实现dbgrideh点击列自动排序

dbgrideh控件本身是支持点击列自动排列的,只要设置

Gridview点击列头排序 .doc

  • 2012-10-22 09:47
  • 76KB
  • 下载

[WPF]ListView点击列头排序功能实现

[WPF]ListView点击列头排序功能实现 这是一个非常常见的功能,要求也很简单,在Column Header上显示一个小三角表示表示现在是在哪个Header上的正序还是倒序就可以了...

为ListView添加自动列宽调整和点击列表头自动排序功能

.Net 2.0中,ListView中虽然增加了AutoResizeColumns函数,允许自动对列宽进行调整,但是对于其中的 AutoResizeColumns(ColumnHeaderAutoRe...

C# listview 点击列头排序

#region 自定义变量 int currentCol = -1; bool sort; #endregion//列头点击事件 private vo...

Vue 固定头 固定列 点击表头可排序 表格组件

原理是将原table的指定行,指定列clone一份放在其上 实现代码如下: {{item}} ...

关于GridView点击列头排序

关于GridView列头点击排序 做ASP.NET Web项目开发,经常会和GridView打交道,免不了会根据需求要有列头点击排序的功能,在网上看了很多资料都没有把实例讲全,下面以linq原生语法...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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