您的位置:首页 > 其它

EhLib表格控件DBGridEh自动排序、自动过滤的实现

2013-09-18 20:20 405 查看
一、排序功能:(原文链接:http://www.tansoo.cn/?p=401)

首先在uses节中根据你选用的数据集引用对应的 EhLibXXX (EhLibADO, EhLibCDS…)

然后再设置下面几个DBGridEh控件的属性:

1
procedure
TForm1
.
FormCreate(Sender:
TObject);
2
var
3
I:
Integer
;
4
begin
5
DBGridEh1
.
SortLocal
:=
True
;
6
DBGridEh1
.
OptionsEh
:= DBGridEh1
.
OptionsEh
+[dghAutoSortMarking];
7
for
I
:=
0
to
DBGridEh1
.
Columns
.
Count
-
1
do
8
DBGridEh1
.
Columns[I].Title
.
TitleButton
:=
True
;
9
end
;
二、过滤功能:

具体设置很简单,如下:

1
DBGridEh1
.
STFilter
.
Visible
:=
True
;
2
DBGridEh1
.
STFilter
.
Local
:=
True
;
如果想在下拉列表中加入自定义过滤条件,可以在相应列的OnFillSTFilterListValues事件中加入:

1
procedure
TForm3
.
DBGridEh1Columns1FillSTFilterListValues(
2
Sender:
TCustomDBGridEh;Column: TColumnEh;Items: TStrings;
3
var
Processed:
Boolean
);
4
begin
5
Items
.
Add(
'201201'
);
6
Items
.
Add(
'201202'
);
7
Items
.
Add(
'201203'
);
8
Items
.
Add(
'201204'
);
9
end
;




三、自动搜索:

该搜索框可实现自动搜索并过滤。

1
DBGridEh1
.
SearchPanel
.
Enabled
:=
True
;

2

DBGridEh1
.
SearchPanel
.
FilterOnTyping
:=
True
;
//实时过滤
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: