要实现下拉过滤或排序的功能,下面的步骤并不可少;
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;)