EhLib表格控件DBGridEh自动排序、自动过滤的实现
一、排序功能:(原文链接:http://www.tansoo.cn/?p=401)
首先在uses节中根据你选用的数据集引用对应的 EhLibXXX (EhLibADO, EhLibCDS…)
然后再设置下面几个DBGridEh控件的属性:
1procedure TForm1.FormCreate(Sender: TObject);2var3 I: Integer;4begin5 DBGridEh1.SortLocal := True;6 DBGridEh1.OptionsEh := DBGridEh1.OptionsEh + [dghAutoSortMarking];7 for I := 0 to DBGridEh1.Columns.Count - 1 do8 DBGridEh1.Columns[I].Title.TitleButton := True;9end; 二、过滤功能:
具体设置很简单,如下:
1DBGridEh1.STFilter.Visible := True;2DBGridEh1.STFilter.Local := True;如果想在下拉列表中加入自定义过滤条件,可以在相应列的OnFillSTFilterListValues事件中加入:
1procedure TForm3.DBGridEh1Columns1FillSTFilterListValues(2 Sender: TCustomDBGridEh; Column: TColumnEh; Items: TStrings;3 var Processed: Boolean);4begin5 Items.Add('201201');6 Items.Add('201202');7 Items.Add('201203');8 Items.Add('201204');9end;
三、自动搜索:
该搜索框可实现自动搜索并过滤。
1DBGridEh1.SearchPanel.Enabled := True;2
DBGridEh1.SearchPanel.FilterOnTyping := True; //实时过滤