D7+Ehlib 7.0.133 DBGridEh,点击列标题排序属性设置好之后,有时无法排序的解决办法
2016-06-15 10:41
543 查看
如题,Delphi 7下安装了Ehlib 7.0.133 版本,使用DBGridEh-->DataSource-->TMemTableEh-->TADODataDriverEh连接这些控件,设置了DBGridEh的各个属性如下:
设置
DBGridEh.OptionsEh.dghmultisortmarking := true;
DBGridEh.sortlocal := true;
DBGridEh.sumlist.active := true;
然后再设置所要排序的标题的Title.TitleButton := true;(DBgrideh.column[0].title.titlebutton := true;)
但是不知道为何,点击列标题无任何反应,可能是Ehlib存在的bug,通过实际测试,在DBGridEh的onTitleBtnClick事件中增加以下代码,即可实现点击列标题排序
补充:无意中看到这位高手的博客http://blog.csdn.net/csm2432/article/details/6891579,大受启发,在USES中增加EhLibMTE,
EhlibADO; 通过设置DBGrid的排序相关属性后,运行,居然可以排序了,神奇!
备忘:
要实现下拉过滤或排序的功能,下面这些必不可少;
1、uses EhLibMTE, EhlibADO;
2、DBGridEh.STFilter.Visible := True;
3、DBGridEh.STFilter.Local = True;(客户端过滤);
设置
DBGridEh.OptionsEh.dghmultisortmarking := true;
DBGridEh.sortlocal := true;
DBGridEh.sumlist.active := true;
然后再设置所要排序的标题的Title.TitleButton := true;(DBgrideh.column[0].title.titlebutton := true;)
但是不知道为何,点击列标题无任何反应,可能是Ehlib存在的bug,通过实际测试,在DBGridEh的onTitleBtnClick事件中增加以下代码,即可实现点击列标题排序
procedure TFAttemperOrder.gridFishTitleBtnClick(Sender: TObject; ACol: Integer; Column: TColumnEh); var sortstring:string; //排序列 begin if TMemTableEh(TDBGridEh(Sender).DataSource.DataSet).Active = False then begin Exit; end; //进行排序 with Column do begin if FieldName = '' then Exit; case Title.SortMarker of smNoneEh: begin Title.SortMarker := smDownEh; sortstring := Column.FieldName + ' ASC'; end; smDownEh: sortstring := Column.FieldName + ' ASC'; smUpEh: sortstring := Column.FieldName + ' DESC'; end; //进行排序 try TMemTableEh(TDBGridEh(Sender).DataSource.DataSet).SortOrder := sortstring //dataset为实际数据集变量名 except end; end; end;
补充:无意中看到这位高手的博客http://blog.csdn.net/csm2432/article/details/6891579,大受启发,在USES中增加EhLibMTE,
EhlibADO; 通过设置DBGrid的排序相关属性后,运行,居然可以排序了,神奇!
备忘:
要实现下拉过滤或排序的功能,下面这些必不可少;
1、uses EhLibMTE, EhlibADO;
2、DBGridEh.STFilter.Visible := True;
3、DBGridEh.STFilter.Local = True;(客户端过滤);
相关文章推荐
- PHP开发过程,常见问题和解决方法
- Environment Configuration Files
- 设计模式之观察者
- Java方法参数的特性
- Eclipse配置tomcat
- Android 使用动态加载框架DL进行插件化开发
- python3的requests类抓取中文页面出现乱码
- HTTP深入浅出 http请求
- 调整数组顺序使奇数位于偶数前面
- 牛客网刷题笔记
- 205. Isomorphic Strings
- 随时随地退出程序
- Activity启动模式
- Xcode7.3.1中通过最新的CocoaPod安装pop动画引擎
- Xcode7.3.1中通过最新的CocoaPod安装pop动画引擎
- 自定义分区、数据类型、排序、分组
- Xcode7.3.1中通过最新的CocoaPod安装pop动画引擎
- Activity被回收导致fragment的getActivity为null的解决办法
- swift 值引用
- .NET Core创建一个控制台(Console)程序