cxGrid实现取消过滤和排序后定位到首行(单选和多选)
cxGrid实现取消过滤和排序后定位到首行(单选和多选)
- 2107
DataContoller中的函数FocusedRecordIndex没有反应,FocusedRowIndex正常。
cxgrdtvGrid1DBTableView1.DataController.FocusedRecordIndex := 0; //定位到第一行,排序过滤无反应
cxgrdtvGrid1DBTableView1.DataController.FocusedRowIndex := 0; //定位到第一行,排序过滤仍正常
排序对应事件:cxGridDBTableView中的DataController的OnSortingChanged
过滤对应事件:cxGridDBTableView中的DataController的Filter的OnChanged
对于“排序”后定位到首行只需要设置dcofocusTopRowAfterSorting为True
1、测试cxGrid的cxGridDBBandTableView组件在排序或者过滤以后:(单选:MultSelect属性设置为False)
排序:devexpress1226版本的dcofocusTopRowAfterSorting设置为True即可焦点自动定位到首行,单选状态下有选中行焦点和颜色标示
过滤:默认设置,取消过滤后仍默认过滤时候选中的行,增加cxGridDBTableView中的DataController的Filter的OnChanged如下代码行,会出现取消过滤后选中首行(焦点和选中行颜色同时定位到第一行)
- var
- Filter: TcxDataFilterCriteria; //定义过滤器对象
- begin
- with Sender as TcxDataFilterCriteria do
- if IsEmpty then //操作过滤器触发过滤器事件时判断过滤器是否为空,即:是否取消过滤
- begin
- cxgrdtvGrid1DBTableView1.DataController.FocusedRowIndex := 0; //焦点定位到第一行
- end;
2、针对多选情况变通调整,否则焦点(虚线框可以看见)可以移动,但是选中行颜色标志(背景颜色)不会;(多选:MultSelect属性设置为True)
排序:devexpress1226版本的dcofocusTopRowAfterSorting设置为True即可焦点自动定位到首行,多选状态下只有焦点标示无选中行颜色标示
过滤:默认设置,取消过滤后仍默认过滤时候选中的行,增加cxGridDBTableView中的DataController的Filter的OnChanged如下代码行,会出现取消过滤后无论过滤时候选择的一行还是多选都会在此时只选中首行(焦点和选中行颜色同时定位到第一行)
- var
- Filter: TcxDataFilterCriteria;
- begin
- with Sender as TcxDataFilterCriteria do
- if IsEmpty then //操作过滤器触发过滤器事件时判断过滤器是否为空,即:是否取消过滤
- begin
- cxgrdtvGrid1DBTableView1.OptionsSelection.MultiSelect := False;
- cxgrdtvGrid1DBTableView1.DataController.FocusedRowIndex := 0; <span style="font-size:14px;font-family:Arial;">//焦点定位到第一行</span>
- cxgrdtvGrid1DBTableView1.OptionsSelection.MultiSelect := True;
- end;
3、cxGrid1DBTableView的OptionsView属性中的FocusRect为False就可以看不见虚线框,即获得焦点行的边框
4、在多选的情况下,按照以上所说的排序和过滤会出现,排序后焦点定位到第一行但是默认没有选中(背景色为白色),而取消过滤后焦点定位到第一行而且默认第一行选中(背景色为蓝色或者其他操作系统主题颜色),这样就不一致了,临时解决方案:
都只定位到第一行并且都不选择任何行,只需要对过滤后的事件代码做一个刷新调整即可:
- var
- Filter: TcxDataFilterCriteria;
- begin
- with Sender as TcxDataFilterCriteria do
- if IsEmpty then
- begin
- cxgrdtvGrid1DBTableView1.DataController.DataSet.Active := False;
- cxgrdtvGrid1DBTableView1.DataController.DataSet.Active := True;
- end;
cxGrid实现取消过滤和排序后定位到首行(单选和多选)的更多相关文章
- 关于怎样获取DevExpress GridView过滤后或排序后的数据集问题(转)
GridView用自带的过滤功能过滤数据后,想要获取过滤后的数据集,有两种方式: 一.笨办法就是循环遍历GridView,根据gridView.GetRow()或者gridView.GetDataRo ...
- cxGrid控件过滤筛选后如何获更新筛选后的数据集
cxGrid控件过滤筛选后如何获更新筛选后的数据集 (2015-06-19 12:12:08) 转载▼ 标签: delphi cxgrid筛选数据集 cxgrid过滤 分类: Delphi cxGri ...
- 《Entity Framework 6 Recipes》中文翻译系列 (27) ------ 第五章 加载实体和导航属性之关联实体过滤、排序、执行聚合操作
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 5-9 关联实体过滤和排序 问题 你有一实体的实例,你想加载应用了过滤和排序的相关 ...
- 在ASP.NET MVC5中实现具有服务器端过滤、排序和分页的GridView
背景 在前一篇文章<[初学者指南]在ASP.NET MVC 5中创建GridView>中,我们学习了如何在 ASP.NET MVC 中实现 GridView,类似于 ASP.NET web ...
- MixItUp:超炫!基于 CSS3 & jQuery 的过滤和排序插件
MixItUp 是一款轻量,但功能强大的 jQuery 插件,提供了对分类和有序内容的美丽的动画过滤和排序功能.特别适合用于作品集网站,画廊,图片博客以及任何的分类或有序内容. 它是如何工作的? Mi ...
- [转]在ASP.NET MVC5中实现具有服务器端过滤、排序和分页的GridView
本文转自:http://www.cnblogs.com/powertoolsteam/p/MVC5_GridView_2.html 背景 在前一篇文章<[初学者指南]在ASP.NET MVC 5 ...
- Cxgrid获取选中行列,排序规则,当前正在编辑的单元格内的值
Delphi Cxgrid获取选中行列,排序规则,当前正在编辑的单元格内的值 cxGrid1DBTableView1.Controller.FocusedRowIndex 当前行号 cxGrid1DB ...
- Visual Studio 2013 (vs2013)中“向前定位”,“向后定位”按钮
Visual Studio 2013 (vs2013)中默认的界面中似乎没有向前向后定位这个非常实用的功能,下面是把它们找出来的方法: 方法1:右键-->工具栏空白处-->最下面,自定义- ...
- Oracle Day2 过滤、排序、单行函数
1.过滤和排序 SQL> --查询10号部门的所有员工信息 SQL> select * from emp ; 未选定行 SQL> ed SP2: 无法创建保存文件 "afi ...
随机推荐
- 1.3 Java中的标识符和关键字
1.标识符 含义:标识符用于给程序中的类.变量.方法命名的符号. 组成:数字(0-9).字母(a-z)(A-Z).下划线(_).美元符号$. 命名规则:1.数字不能够作为命名符号的开头 2.不能够使用 ...
- VirtualBox中安装Fedora9及其ARM开发环境配置
因为要学习Tiny4412开发板的嵌入式编程,需要用到Fedora9系统(和手册对应),我就在VirtualBox虚拟机(此虚拟机安装在Ubuntu12.04上)上安装了Fedora9,下面就讲解一下 ...
- 采用RedisLive监控Redis服务——安装手册
#1.gcc编译环境确认 .tgz cd Python- ./configure /bin/python2. /usr/bin/python #运行python查看版本 python -V #进行更改 ...
- delphi程序设计改进可读性一法
Delphi,Lazarus程序设计改进一法 作者:steven QQ:1565498246 Delphi/Lazarus有一个思想就是方法.函数名调用,后边可以不使用括号(),比如调用函数Now,这 ...
- 使用Apache CXF和Spring集成创建Web Service(zz)
使用Apache CXF和Spring集成创建Web Service 您的评价: 还行 收藏该经验 1.创建HelloWorld 接口类 查看源码 打印? 1 package ...
- 【转】MongoDB导入导出以及数据库备份
-------------------MongoDB数据导入与导出------------------- 1.导出工具:mongoexport 1.概念: mongoDB中的m ...
- [zhuan]SQLServer查询最近一天,三天,一周,一月,一季度方法
三天 select * from T_news where datediff(day,addtime,getdate())<= 2 and datediff(day,addtime,getdat ...
- 一类n阶微分方程转1阶微分方程组
- 从模板驱动文件ins生成cls文件
在当前目录下,启动cmd程序,输入以下指令: latex acmart.ins
- 表单提交textarea内容,第一次获取不到值,第二次才能获取到的解决方法:
因为KindEditor的可视化操作在新创建的iframe上执行,代码模式下的textarea框也是新创建的,所以最后提交前需要执行 sync() 将HTML数据设置到原来的textarea. Kin ...