您的位置:首页 > 其它

DBGridEh本地过滤或排序的功能

2016-01-27 15:44 330 查看
要实现下拉过滤或排序的功能,下面的步骤并不可少;

1、uses EhLibMTE; 
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 := DBGridEh.OptionsEh + [dghAutoSortMarking];

      DBGridEh.OptionsEh := DBGridEh.OptionsEh + [dghMultiSortMarking];      

      DBGridEh.sortlocal := true; 

      DBGridEh.sumlist.active := true; 

  然后再设置所要排序的标题的Title.TitleButton := true;(DBgrideh.column[0].title.titlebutton := true;)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: