经过多方代码碴找
对 DbUtilsEh.pas 做以下修改,终于与以前一样使用,而且类office 2007的选择功能也出来了!
procedure TDatasetFeaturesEh.FillSTFilterListDataValues(AGrid: TCustomDBGridEh; Column: TColumnEh; Items: TStrings); begin end;
很是奇怪,这个地方为什么会留空呢,是否是因为用基它控件时,存在BUG? 不得而之....
我们做如下修改:
procedure TDatasetFeaturesEh.FillSTFilterListDataValues(AGrid: TCustomDBGridEh; Column: TColumnEh; Items: TStrings); begin if Assigned(AGrid.Center) then AGrid.Center.StandardFillSTFilterListDataValues(AGrid, Column, Items); end;
现在再用以前版本的方法,发现,实现的功能与用了MemTableEh 的没有什么区别,也期待能没有其它的BUG..... 比如过滤的条数 不能太多,设置的条件不能多个等.....
附dbgrideh 中过滤设置的一些重要操作:
在ehlib的DBGridEh控件中使用过滤功能很方便,但使用过程中有几个容易被忽略的地方,它曾经困绕了我很长时间,过滤功能就是用不起来。 1.在UNIT中加入 uses EhLibXXX(EhLibADO、EhLibDBE等,根据你选用的数据集来定); initialization DBGridEhDefaultStyle.FilterEditCloseUpApplyFilter := True; //这句写在 .end 前面,同时上面这一句在不同的时候,可能有区别,你在编译不通过时,就要做修改!
.END
有如下的版本:
EhLibCDS DBGridEhCenter.FilterEditCloseUpApplyFilter := True;
2.设置属性 DBGridEh.STFilter.Local := True; DBGridEh.STFilter.Visible:= True; 3.设置需过滤字段的 STFilter 属性,这个地方我就不详细说了,相信大家都会了。
最新评论