⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ugridcolumnsort.pas

📁 排序 排序 排序 排序 排序 排序 排序 排序
💻 PAS
字号:
unit uGridColumnSort;

interface

uses
  Classes, SysUtils, DB, DBClient, Grids, DBGrids, DBGridEh;

type
  _TIndexOption = (ioDescending, ioAscending);

procedure SortColumn(Column: TColumnEh; IndexOption: _TIndexOption = ioAscending);

implementation

procedure SortColumn(Column: TColumnEh; IndexOption: _TIndexOption);
var
  ADataSet: TClientDataSet;
  _IndexName: string;
  IndexOptions: TIndexOptions;
begin
  // 得到要操作的数据集组件
  ADataSet := Column.Field.DataSet as TClientDataSet;
  // 生成索引名称
  IndexOptions := [];
  case IndexOption of
    ioAscending: _IndexName := 'A_' + Column.FieldName;
    ioDescending: begin
      IndexOptions := IndexOptions + [ixDescending];
      _IndexName := 'D_' + Column.FieldName;
    end;
  end;
  // 是否插入索引列表
  if ADataSet.IndexDefs.IndexOf(_IndexName) = -1 then
    ADataSet.IndexDefs.Add(_IndexName, Column.FieldName, IndexOptions);
  // 设置索引名称
  ADataSet.IndexName := _IndexName;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -