📄 ugridcolumnsort.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 + -