news 2026/5/25 23:24:26

DevExpress WinForms中文教程:Data Grid - 如何按汇总值对分组行进行排序?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DevExpress WinForms中文教程:Data Grid - 如何按汇总值对分组行进行排序?

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

本教程首先展示了网格的内置UI,允许您根据汇总值对组行进行排序。然后您将看到如何在需要时禁用此UI,以及如何在代码中对组行进行排序。

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

开始

从已经针对Category列分组的GridControl开始。

默认情况下,分组行按字母顺序排序,其中“Beverages”分组行后面是“Condiments”,然后是“Confections” ,依此类推。

添加分组汇总

在表单Load事件处理程序中,创建一个计算OrderSum列中最大值的分组汇总,汇总值将显示在分组行中。

C#

using DevExpress.Data; using DevExpress.XtraGrid; using DevExpress.XtraGrid.Columns; private void Form1_Load(object sender, EventArgs e) { gridView.GroupSummary.Clear(); GridSummaryItem summaryItemMaxOrderSum = gridView.GroupSummary.Add(new GridSummaryItem(DevExpress.Data.SummaryItemType.Max, "OrderSum", null, "(MAX Order Sum = {0:c2})")); }

VB.NET

Imports DevExpress.Data Imports DevExpress.XtraGrid Imports DevExpress.XtraGrid.Columns Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load gridView1.GroupSummary.Clear() Dim summaryItemMaxOrderSum As GridSummaryItem = gridView.GroupSummary.Add(New GridSummaryItem(DevExpress.Data.SummaryItemType.Max, "OrderSum", Nothing, "(MAX Order Sum = {0:c2})")) End Sub

运行应用程序,分组行显示每个分组中OrderSum列的最大值。

终端用户的功能

右键单击Category列标题,选择按Sort by Summary项,然后按升序排序。

因此,分组行现在根据汇总值按升序排序,在分组列中显示的特殊符号表示当前排序顺序。

以同样的方式,您可以反转排序顺序。要删除分组行排序,请右键单击Category列标题并选择Clear Summary Sorting

限制终端用户的功能

选择grid(网格)视图,展开其GridView.OptionsMenu属性并禁用GridOptionsMenu.ShowGroupSortSummaryItems选项。

运行应用程序并右键单击Category列标题,现在作为结果显示的上下文菜单不包含Sort by Summary项。

按代码中的汇总值排序

再次关闭应用程序并返回到form Load事件处理程序,从视图的ColumnView.SortInfo集合中获取第一个分组列。要在代码中对组行进行排序,请创建一个新的GroupSummarySortInfo对象,使用摘要项、目标列和所需的排序顺序作为参数。最后,清除GridView.GroupSummarySortInfo集合,并使用GroupSummarySortInfoCollection.ClearAndAddRange方法将创建的对象添加到其中。

C#

using DevExpress.Data; using DevExpress.XtraGrid; using DevExpress.XtraGrid.Columns; private void Form1_Load(object sender, EventArgs e) { // ... GridColumn firstGroupColumn = gridView.SortInfo[0].Column; GroupSummarySortInfo[] groupSummaryToSort = { new GroupSummarySortInfo(summaryItemMaxOrderSum, firstGroupColumn, ColumnSortOrder.Ascending) }; gridView.GroupSummarySortInfo.ClearAndAddRange(groupSummaryToSort); }

VB.NET

Imports DevExpress.Data Imports DevExpress.XtraGrid Imports DevExpress.XtraGrid.Columns Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load ' ... Dim firstGroupColumn As GridColumn = gridView1.SortInfo(0).Column Dim groupSummaryToSort() As GroupSummarySortInfo = { New GroupSummarySortInfo(summaryItemMaxOrderSum, firstGroupColumn, ColumnSortOrder.Ascending) } gridView1.GroupSummarySortInfo.ClearAndAddRange(groupSummaryToSort) End Sub

运行应用程序来查看结果,分组行现在将按汇总值的升序排序。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/25 23:46:28

3大绝招彻底解决PDF表格提取难题,效率提升500%

3大绝招彻底解决PDF表格提取难题,效率提升500% 【免费下载链接】tabula Tabula is a tool for liberating data tables trapped inside PDF files 项目地址: https://gitcode.com/gh_mirrors/ta/tabula 还在为从PDF文件中手动复制表格数据而头疼吗&#xff1…

作者头像 李华
网站建设 2026/5/25 23:46:26

31、伪浮点数的原理、运算及误差分析

伪浮点数的原理、运算及误差分析 1. 伪浮点数基础示例 伪浮点数是一种特殊的数值表示方式,下面通过几个例子来理解。 首先,以四分之一块馅饼为例,分子是 1,分母已经是 2 的幂次方。可以用如下结构体表示: struct sFakeFloat oneFourth = {1, 2};负的移位值会改变移位…

作者头像 李华
网站建设 2026/5/25 6:43:54

PETools 使用指南:5个核心功能详解与快速上手步骤

PETools 是一款功能强大的 PE 文件分析工具,自 2002 年发布以来,已经成为逆向工程领域不可或缺的利器。本文将从新手角度出发,详细介绍 PETools 的核心功能和实用操作技巧。 【免费下载链接】petools PE Tools - Portable executable (PE) ma…

作者头像 李华
网站建设 2026/5/25 23:46:16

16、键盘与鼠标的全面解析:从硬件到配置

键盘与鼠标的全面解析:从硬件到配置 1. 键盘与鼠标的重要性 在计算机的众多组件中,显示器、键盘和鼠标是与人类交互最为直接的部分。键盘对于大多数计算机而言是必不可少的,没有键盘,很多x86计算机甚至无法启动,安装Linux系统也会变得困难。而鼠标虽然不是运行Linux的绝…

作者头像 李华
网站建设 2026/5/26 3:56:51

联想拯救者BIOS隐藏设置终极调校指南:解锁硬件性能的魔法钥匙

联想拯救者BIOS隐藏设置终极调校指南:解锁硬件性能的魔法钥匙 【免费下载链接】LEGION_Y7000Series_Insyde_Advanced_Settings_Tools 支持一键修改 Insyde BIOS 隐藏选项的小工具,例如关闭CFG LOCK、修改DVMT等等 项目地址: https://gitcode.com/gh_mi…

作者头像 李华
网站建设 2026/5/25 12:13:19

微调任务排队系统上线,Llama-Factory支持任务优先级设置

微调任务排队系统上线,Llama-Factory支持任务优先级设置 在大模型落地应用日益加速的今天,一个现实问题正困扰着许多团队:当多个微调任务同时提交时,GPU 资源被争抢、训练中断频发、紧急任务迟迟无法执行。开发者不得不手动排队、…

作者头像 李华