uj5u.com熱心網友回復:
ehlib試試uj5u.com熱心網友回復:
試過了,沒有個屬性的,估計要寫的uj5u.com熱心網友回復:
下拉的用途?選擇不同的值,排序,還是過濾?排序和過濾是有的。
uj5u.com熱心網友回復:
過濾功能,這一列的值通過這個下拉顯示出來,然后勾選其中需要的列值uj5u.com熱心網友回復:
dbgrideh配合他的記憶體表和cxgrid都有這功能uj5u.com熱心網友回復:
CxGriduj5u.com熱心網友回復:
dbgrideh和cxgrid都有這功能,同時DBGrid也能做,但比較復雜。dbgrideh的做法:
1、uses EhLibAdo;(如果客戶端用ADO控制元件);
2、設定DBGridEh的Column的TitleButton屬性為True;
3、設定DBGridEh的OptionsEh的dghAutoSortMarking的屬性為True;
4、設定DBGridEh的SortLocal屬性為True 。
uj5u.com熱心網友回復:
dbgrideh的做法:1、uses EhLibAdo;(如果客戶端用ADO控制元件);
這怎么理解,我試了下面那幾步,只出來了升降序
uj5u.com熱心網友回復:
一、排序功能:首先在uses節中根據你選用的資料集參考對應的 EhLibXXX (EhLibADO, EhLibCDS…)
然后再設定下面幾個DBGridEh控制元件的屬性:
procedure TForm1.FormCreate(Sender: TObject);
var
I: Integer;
begin
DBGridEh1.SortLocal := True;
DBGridEh1.OptionsEh := DBGridEh1.OptionsEh + [dghAutoSortMarking];
for I := 0 to DBGridEh1.Columns.Count - 1 do
DBGridEh1.Columns[I].Title.TitleButton := True;
end;
procedure TForm1.FormCreate(Sender: TObject);
var I: Integer;
begin
DBGridEh1.SortLocal := True;
DBGridEh1.OptionsEh := DBGridEh1.OptionsEh + [dghAutoSortMarking];
for I := 0 to DBGridEh1.Columns.Count - 1 do
DBGridEh1.Columns[I].Title.TitleButton := True;
end;
二、過濾功能:
具體設定很簡單,如下:
DBGridEh1.STFilter.Visible := True;
DBGridEh1.STFilter.Local := True;
DBGridEh1.STFilter.Visible := True; DBGridEh1.STFilter.Local := True;
如果想在下拉串列中加入自定義過濾條件,可以在相應列的OnFillSTFilterListValues事件中加入:
procedure TForm3.DBGridEh1Columns1FillSTFilterListValues( Sender: TCustomDBGridEh;
Column: TColumnEh; Items: TStrings; var Processed: Boolean);
begin
Items.Add('201201');
Items.Add('201202');
Items.Add('201203');
Items.Add('201204');
end;
三、自動搜索:
該搜索框可實作自動搜索并過濾。
Delphi/Pascal DBGridEh1.SearchPanel.Enabled := True;
DBGridEh1.SearchPanel.FilterOnTyping := True; //實時過濾
DBGridEh1.SearchPanel.Enabled := True; DBGridEh1.SearchPanel.FilterOnTyping := True; //實時過濾
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/50828.html
標籤:VCL組件開發及應用
