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 ...
随机推荐
- 常用到的photoshop实用设计功能都在这了!
常用到的photoshop实用设计功能都在这了!赶快收藏学起来,需转不谢~ 编辑:千锋UI设计
- Struts问题
1.struts框架的5大组件:mvc,标签库,校验框架,国际化,tiles; 2.struts的9大核心类以及与mvc对应的关系: C ActionServlet RequestProcessor ...
- m序列
产生m序列移位寄存器是一种逻辑电路,1阶,2阶...的电路图各不相同. 一般使用本原多项式计算出各阶数电路图. 一般的多项式为 f(x) = c0 * x^0 + c1 * x^1 + c2 * x^ ...
- Windows-universal-samples学习笔记系列五:Custom user interactions
Custom user interactions Basic input Complex inking Inking Low latency input Simple inking Touch key ...
- Sharing Code Between Silverlight and Win8 app metro
这里讲得很详细了: Sharing Code between Windows Phone 8 and Windows 8 Applications http://msdn.microsoft.com/ ...
- rails 部署 can't find gem bundler (>= 0.a) with executable bundle
多方寻找终得果,先感谢原作者,原作者博文 原因是本地项目bundler 和 服务器 bundler 版本不一致导致,项目是在本地建立,故Gemfile.lock最后一行BUNDLED WITH中是1. ...
- Mac 更换桌面背景崩溃(闪退)
更新完系统后就会出现这种情况,,其实就是用户偏好文件出了问题. 1. 在终端输入 cd /Users/YourUserName/Library/Preferences //进入文件夹 rm com.a ...
- Maven手动将jar包放入本地仓库
mvn install:install-file -Dfile=jar包的位置 -DgroupId=上面的groupId -DartifactId=上面的artifactId -Dversion=上面 ...
- 特级教师总结的教育之33条(ZZ)
一位班主任发给家长的一则短信:“无论成绩好坏,请想想:每个孩子都是种子,只不过每个人的花期不同.有的花,一开始就灿烂绽放:有的花,需要漫长的等待.不要看着别人怒放了,自己的那棵还没有动静就着急,相信是 ...
- 2018.11.07 NOIP模拟 分糖果(贪心)
传送门 考虑 n = 2 时的情况:假定两个人分别为(a, b),(c, d),则当且仅当min(a,d) ≤ min(b,c)时,把(a, b)放在前面更优,否则把(c, d)放在前面更优 然后把n ...