DbgridEh本地过滤与多列排序功能

 

要实现下拉过滤或排序的功能,下面的步骤并不可少;

1、uses EhLibMTE, EhlibADO;
2、DBGridEh.STFilter.Visible := True;
3、DBGridEh.STFilter.Local = True;(客户端过滤);

4、增加TDataSource、TMemTableEh、TDataSetDriverEh、TAdoQuery,TDBGridEh四个控件,此四个控件的连接方法:
     TDataSource的DataSet属性赋值为TMemTableEh控件;
     TMemTableEh的DataDriver属性赋值为TDataSetDriverEh控件; FetchAllOnOpen := true;

     TDataSetDriverEh的ProvierDataSet属性赋值为TAdoQuery控件;
     TDBGridEh的DataSource属性赋值为TDataSource控件;
    
4、在单元的 initialization 节添加以下代:
   DBGridEhCenter.FilterEditCloseUpApplyFilter := True;
5、实现语句:
     if ADOQuery1.Active then ADOQuery1.Close;
     ADOQuery1.SQL.Text := sql语句;
     //ADOQuery1.Open;

     if MemTableEh1.Active then MemTableEh1.Close;
     MemTableEh1.Active := True;  

6、要实现标题排序的步骤:
   设置DBGridEh.OptionsEh.dghatuosortmarking := true;
       DBGridEh.OptionsEh.dghmultisortmarking := true; //按住Ctrl操作
       DBGridEh.sortlocal := true;
       DBGridEh.sumlist.active := true;
   然后再设置所要排序的标题的Title.TitleButton := true;(DBgrideh.column[0].title.titlebutton := true;)

 

你可能感兴趣的:(sql,dataset,initialization)