DevExpress WinForms中文教程:Data Grid - 数据排序基础知识

news/2025/10/16 10:36:32/文章来源:https://www.cnblogs.com/AABBbaby/p/19144983

DevExpress WinForms中文教程:Data Grid - 数据排序基础知识

DevExpress WinForms拥有180+组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!

本教程将指导用户了解最终用户在运行时可用的数据排序功能,还将看到如何在设计时和代码中操作数据排序。

获取DevExpress WinForms v25.1正式版下载

DevExpress技术交流群12:1028386091      欢迎一起进群讨论

默认操作

若要根据列对数据进行排序,请单击该列的标题,网格将按升序对值进行排序,顺序由显示在列标题右边缘的字形表示。

DevExpress WinForms中文使用教程图集

单击相同的列标题可反转排序顺序,注意排序符号现在也被颠倒了。

DevExpress WinForms中文使用教程图集

如果单击另一个列标题,则清除以前应用的所有数据排序。若要保留现有的排序设置,从而对多个列进行排序,请在单击时按住SHIFT键。只有当第一列中有重复的值时,按第二列排序才有意义。

DevExpress WinForms中文使用教程图集

如果在列标题菜单中使用Sort Ascending或Sort Descending项,则还保留先前应用的数据排序。

DevExpress WinForms中文使用教程图集

若要禁用针对特定列的数据排序,请按住CTRL键并单击该列的标题,使用列标题菜单中的Clear Sorting项也可以完成相同的操作。如果需要清除所有的数据排序条件,请使用Clear All Sorting项。

DevExpress WinForms中文使用教程图集
在设计时的排序

您可以在设计时网格数据使用列标题上下文菜单或Property Grid,在按住SHIFT键的同时单击项目名称和状态列标题,并将其GridColumn.SortOrder属性设置为 ColumnSortOrder.Ascending。

DevExpress WinForms中文使用教程图集

运行应用程序,网格数据根据Project Name和Status列排序。

返回到设计时,并通过将GridColumn.SortOrder属性设置为ColumnSortOrder.None来清除这些列的排序设置。

限制最终用户的功能

要禁用针对列的最终用户数据排序,请将列的OptionsColumn.AllowSort选项设置为false。

DevExpress WinForms中文使用教程图集

运行应用程序,通过右键单击Project Name列标题,您将发现是否禁用了Sort Ascending或Sort Descending项。注意,您仍然可以根据其他列对网格数据进行排序。

DevExpress WinForms中文使用教程图集

为了防止最终用户以集中的方式对所有列进行排序,请选择网格视图,展开GridView.OptionsCustomization属性并禁用GridOptionsCustomization.AllowSort选项。

再次运行应用程序来确保不能对网格数据进行排序。

代码中的排序

下一步是了解如何在代码中对网格数据进行排序。请注意,无论视图的GridOptionsCustomization.AllowSort和列的OptionsColumn.AllowSort选项如何,这都可以工作。

根据按钮的Click事件处理程序中的Project Name和Status列对数据进行排序。首先,获取要对其进行排序的GridColumn对象,通过调用视图的ColumnView.ClearSorting方法清除现有的排序设置。然后,使用GridColumn.SortOrder属性设置所需的排序顺序。注意GridControl将在每个语句之后重新排序它的数据——在本例中是三次。为了防止过度更新,请使用ColumnView.BeginSort 和ColumnView.EndSort方法。在这种情况下,网格的数据将只重新排序一次。

C#

private void btn_SortData_ItemClick(object sender, ItemClickEventArgs e) {
GridColumn colProject = gridView.Columns["ProjectID"];
GridColumn colStatus = gridView.Columns["Status"];
gridView.BeginSort();
try {
gridView.ClearSorting();
colProject.SortOrder = ColumnSortOrder.Ascending;
colStatus.SortOrder = ColumnSortOrder.Ascending;
}
finally {
gridView.EndSort();
}
}

运行应用程序并单击按钮,因此网格数据是根据Project Name和Status列排序的。

对网格列应用排序的另一种方法是通过调用gridcolumnsortinfocollectionclearandadrange方法将相应的项添加到视图的ColumnViewSortInfo集合中。该方法清除现有的排序,添加新的GridColumnSortInfo对象作为参数传递,并且只更新View一次,因此您不需要ColumnViewBeginSort和ColumnViewEndSort方法。

C#

private void btn_SortData_ItemClick(object sender, ItemClickEventArgs e) {
GridColumn colProject = gridView.Columns["ProjectID"];
GridColumn colStatus = gridView.Columns["Status"];
gridView.SortInfo.ClearAndAddRange(new GridColumnSortInfo[] {
new GridColumnSortInfo(colProject, ColumnSortOrder.Ascending),
new GridColumnSortInfo(colPriority, ColumnSortOrder.Ascending)
});
}

再次运行应用程序并单击按钮来查看结果。


更多DevExpress线上公开课、中文教程资讯请上中文网获取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/938074.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【随手记录】minio最新社区版控制台没有管理权限

拉取最新的minio镜像,发现左侧没有管理员权限管控相关内容,只有创建桶相关的核心功能:查了下:MinIO 社区版在 2025-05-24T17-08-30Z(即 RELEASE.2025-05-24T17-08-30Z)版本及之后,移除了 Web 控制台的大部分管理…

python循环遍历文件夹名称和txt文件名称

python循环遍历文件夹名称和txt文件名称python循环遍历文件夹名称和txt文件名称 需求背景: 遍历之前的工作目录下的需求.txt文件,搜集需求列表,通过python脚本来遍历文件名,然后复制到excel表格中去重归类。import…

电力系统短期负荷预测

1. 数据准备和预处理 classdef LoadDataPreprocessorpropertiesraw_dataprocessed_datafeature_namestemporal_featuresweather_featureshistorical_featuresendmethodsfunction obj = LoadDataPreprocessor(data_file…

vscode python format

下载插件 Black Formatter 配置 .vscode/settings.json{ "python-envs.defaultEnvManager": "ms-python.python:conda", "python-envs.defaultPackageManager": "ms-python.pyth…

2025年最值得收藏的15+个图标库推荐

2025年最值得收藏的15+个图标库推荐Posted on 2025-10-16 10:22 lzhdim 阅读(0) 评论(0) 收藏 举报这几年写代码下来,我深深体会到:一个好的图标库对项目的影响有多大。图标不仅能提升用户体验,还能省去大量说…

2025 年浇注料生产厂家最新推荐榜单:聚焦实力企业,助力石化冶金新能源等行业精准选择优质供应商轻质/氧化铝空心球/耐火纤维浇注料厂家推荐

在当前工业生产中,浇注料作为热工窑炉的核心配套材料,其品质直接关系到窑炉运行效率、使用寿命及生产安全,对石化、冶金、陶瓷、新能源等关键行业的稳定发展至关重要。然而,当下浇注料市场厂家数量繁杂,不同厂家在…

阿里云安全防护利器ESA

网站裸奔非常危险,时不时就会受到攻击,最近发现阿里云边缘安全加速ESA包含基础防御功能,可以防刷防攻击,算是加了多一层保护。 而且发现最近搞活动,可以不限次数领取基础版代金券,免费领取链接: http://s.tb.cn…

2025 年国内控制柜生产厂家最新推荐排行榜:聚焦换热机组与污水处理等领域品牌实力测评污水处理PLC/变频供水/反冲洗/压差过滤器控制柜厂家推荐

在工业自动化进程加速推进的当下,控制柜作为设备运行的核心控制中枢,广泛应用于换热机组、污水处理、变频供水等多个关键领域,其品质与服务直接关系到企业生产效率与安全运营。当前市场上控制柜厂家数量繁杂,部分品…

谷歌推出全新语音搜索技术 S2R:跳过语音转文字,直接理解语音意图;代体 AI 推出端侧语音输入法丨日报

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的技术」、「有亮点的产品」、「有思考的文章」、「有态…

/emps?ids=1,2,3 类型参数如何获取?

用@RequestParam List<Integer> ids直接获取即可 如:public Result delete(@RequestParam List<Integer> ids){..........} 相应的XML文件也有所不同,如下<!--批量删除员工基本信息 (1,2,3)--><…

【VPX315】基于 3U VPX 总线架构的 JFMQL100TAI + FT-M6678 智能信号处理平台

​ 产品概述 VPX315 是一款基于 3U VPX 总线架构的 JFMQL100TAI + FT-M6678 DSP 的高性能智能信号处理平台,板载 1 片国防科大银河 飞腾 FT-M6678 多核浮点运算 DSP,可以实现各种实时性要求较高的 信号处理算法,板…

2025年代码托管平台深度评测:本土化与全球化之争

2025年代码托管平台深度评测:本土化与全球化之争 在数字化转型加速的2025年,代码托管平台已成为企业研发效能的核心基础设施。随着国内开发者生态的成熟和合规要求的提升,平台选择标准正从单一功能完备性向访问体验…

访问控制列表 ACL

访问控制列表 ACL 0x0 定义用于数据流的匹配和筛选ACL 不对数据包本身做任何操作手动网络层隔离技术0x1 常见功能访问控制:ACL + Packet-filter路由控制:ACL + Route-policy流量控制:ACL + QoS0x2 ACL 分类 基本 AC…

数据跨境传输:挑战、需求与管控实践

数据跨境传输是企业参与全球竞争的关键,但法律差异、技术瓶颈及安全风险等问题日益凸显。当前,企业需同时应对多国数据保护法规,例如欧盟GDPR与我国《数据安全法》对数据出境的审查要求截然不同。技术层面,跨国网络…

2025 年深圳心理咨询机构最新推荐排行榜:覆盖青少年、婚姻情感等领域,精选优质品牌供参考深圳催眠/深圳沙盘游戏/深圳孩子厌学心理咨询机构推荐

当前深圳作为人口密集、竞争激烈的一线城市,民众在青少年心理疏导、婚姻情感调解、儿童行为干预等方面的心理咨询需求持续攀升。但行业内机构资质良莠不齐,部分机构缺乏专业诊疗体系,咨询师能力差异显著,且行业信息…

手把手教你在 Docker 中部署 Home Assistant

本文详细介绍在Docker中部署Home Assistant的全流程,含从轩辕镜像查看详情、多种方式拉取镜像,提供快速部署、持久化挂载(推荐)、docker-compose部署三种方案,还包含结果验证方法与常见问题解决办法。🧰 准备工…

Index of /download/windows/spice-guest-tools

https://www.spice-space.org/download/windows/spice-guest-tools/