DBGridEh实现单击标题栏排序方法
2005-04-22 16:35
387 查看
1.添加引用:DBClient2.置DBGridEh控件属性:设置dghAutoSortMarking属性为true 设置希望排序的Column的TitleButton属性为true3.//表格排序过程
procedure OrderGrid(dataSet:TClientDataset;orderField:string);
var
i:integer;
begin
if dataSet.IndexFieldNames<>'' then
begin
i:=TClientDataSet(DataSet).IndexDefs.IndexOf('i'+orderField);
if i=-1 then
begin
with Dataset.IndexDefs.AddIndexDef do
begin
Name:='i'+orderField;
Fields:=orderField;
DescFields:=orderField;
end;
end;
dataSet.IndexFieldNames:='';
dataSet.IndexName:='i'+orderField;
end
else
begin
dataSet.IndexName:='';
dataSet.IndexFieldNames:=orderfield;
end;
end;4.在DBGridEh的OnTitleClick事件中调用OrderGrid(DM.ClientDataset,Column.FieldName);
procedure OrderGrid(dataSet:TClientDataset;orderField:string);
var
i:integer;
begin
if dataSet.IndexFieldNames<>'' then
begin
i:=TClientDataSet(DataSet).IndexDefs.IndexOf('i'+orderField);
if i=-1 then
begin
with Dataset.IndexDefs.AddIndexDef do
begin
Name:='i'+orderField;
Fields:=orderField;
DescFields:=orderField;
end;
end;
dataSet.IndexFieldNames:='';
dataSet.IndexName:='i'+orderField;
end
else
begin
dataSet.IndexName:='';
dataSet.IndexFieldNames:=orderfield;
end;
end;4.在DBGridEh的OnTitleClick事件中调用OrderGrid(DM.ClientDataset,Column.FieldName);
相关文章推荐
- DBGridEh实现单击标题栏排序方法 选择自 snowfall 的 Blog
- ehlib5.6 中,dbgrideh控件如何实现点击字段名称排序
- Java实现几种常见排序方法
- C#双向链表LinkedList排序实现方法
- 在STL中,map按值来排序的实现方法
- 浅谈WinForm下ListView的扩展(一):单击列头实现排序
- 选择排序的两种实现方法
- dbgrideh如何实现自动排序
- HTML中单击Table表头实现排序
- JAVA实现表格排序的方法
- c++实现数据结构中的各种排序方法:直接插入、选择,归并、冒泡、快速、堆排序、shell排序
- Java Map 按照Value排序的实现方法
- java实现List中对象排序的方法
- Java List 实现排序的简单方法
- Python实现大文件排序的方法
- 数组排序方法的性能比较(3):LINQ排序实现分析
- 关于JSP中单击任意标签弹出文件选择框(<input type="file"/>)的实现方法
- 快速排序的三种实现方法体会
- C++实现单链表按k值重新排序的方法
- 对于多个button要在同一个监听器中实现自己的单击事件的方法小诀窍。