Data Grouping

分组功能将具有相同列值的行组合到相同的数据组中。Grid View 和 Banded Grid Views的支持。

GridControl-Grid View

应用分组

数据分组最初在数据网格中启用(默认设置)。要按列对数据进行分组,请将列标题拖动到分组面板中。另一个选项是右键单击列标题,然后选择“按此列分组”。这两种技术都适用于Visual Studio和运行时。
在这里插入图片描述
按列对数据进行分组时,这些列将自动隐藏在视图中,并且所有组都将折叠。

private void Form1_Load(object sender, EventArgs e) {
    gridView1.Columns[nameof(Product.ShipCountry)].Group();
    // OR
    gridView1.Columns[nameof(Product.ShipCountry)].GroupIndex = 0;

    gridView1.ExpandAllGroups();
}

相关API

  • GridOptionsCustomization.AllowGroup --禁用按网格列分组。
  • GridColumn.OptionsColumn.AllowGroup --禁用按此特定列进行分组。
  • OptionsColumn.AllowMove --防止用户拖动列标题,包括在组面板内拖动它。-
  • GridOptionsView.ShowGroupPanel --管理组面板的可见性。隐藏此面板不会禁用分组。
  • GridOptionsView.ShowGroupedColumns --指定数据分组所依据的列在视图中是否仍然可见。
  • GridOptionsBehavior.AutoExpandAllGroups --如果启用此设置,则所有组将在分组后自动展开。

未分组资料

要取消数据分组,请将列标题从组面板拖动到列标题面板,或者右键单击列标题并从关联菜单中选择“取消分组”。要删除所有分组,请右键单击分组面板,然后选择“清除分组”。
在这里插入图片描述

相关API

  • OptionsColumn.AllowMove --防止用户拖动列标题,包括将其从组面板中拖离。
  • OptionsColumn.AllowGroup --禁用列上下文菜单中的“取消分组”选项。
  • ColumnView.StartGrouping, ColumnView.EndGrouping --当用户在组面板上下文菜单中选择“清除分组”时,允许重新应用初始列分组。下面的示例在用户清除分组时按“订单ID”列恢复分组。
private void GridView1_EndGrouping(object sender, EventArgs e) {
    GridView view = sender as GridView;
    if (view.GroupedColumns.Count == 0) {
        colOrderID.GroupIndex = 1;
    }
}

多列分组

当数据按多列分组时,可以将列标题拖动到组面板中的另一个位置以更改组顺序。
在这里插入图片描述

private void Form1_Load(object sender, EventArgs e) {
    gridView1.Columns[nameof(Mail.Received)].GroupIndex = 0;
    gridView1.Columns[nameof(Mail.Read)].GroupIndex = 1;
    gridView1.Columns[nameof(Mail.Attachment)].GroupIndex = 2;
}

相关API

  • GridColumn.GroupIndex–接受指定此列的组级别的唯一整数值。将此属性设置为-1将删除按此列进行的分组。
  • GridOptionsView.ShowGroupPanelColumnsAsSingleRow–如果启用此设置,则组面板中的所有列标题都排列成行。在下图中,数据按“国家”、“地区”和“联系人职务”列分组。所有三个列标题在组面板内排列成一行。

合并列分组

将列标题拖动到组面板中时,按住Ctrl键可同时按多列对数据进行分组。
在这里插入图片描述
可以将合并分组与常规多列分组相结合。
在这里插入图片描述
要在合并的筛选块中重新排列列标题,请按住Ctrl键拖动列标题。

相关API

  • GridOptionsCustomization.AllowMergedGrouping–禁用合并分组功能。

列首

组面板中的列标题与常规视图列具有相同的功能:用户可以单击分组的列标题以升序或降序对数据进行排序,并调用筛选器菜单来应用筛选器。
在这里插入图片描述

组值范围

对于DateTime列,用户可以右键单击组面板中的列标题并更改“组间隔”设置。
在这里插入图片描述

使用GridColumn.GroupInterval属性,可以设置代码中DateTime列的组间隔。对于字符串列,可以使用“字母表”和“值”间隔。下图显示了为“Ship Country”列设置的“Alphabetic”组间隔。
在这里插入图片描述

固定组行

启用GridOptionsBehavior.AllowFixedGroups属性,以允许组行定位到视图的顶部。这种行为允许用户在滚动分组数据时识别他们当前正在浏览的组。
在这里插入图片描述

绘图样式

利用GridOptionsView.GroupDrawMode属性,用于在组行的标准绘制模式和Office风格的绘制模式之间切换。有关更多详细信息,请参阅GroupDrawMode枚举。

隐藏单个记录组

禁用GridOptionsBehavior.AllowPartialGroups属性以禁用仅包含一个数据行的组。这些数据行仍然可见,但显示时没有父组,并用蓝线与其他数据行分隔。
在这里插入图片描述
启用此选项后,列标题将在“列标题面板”中可见。此外,组摘要会被强制移动到组行,然后组页脚会被隐藏。

主细节分组

启用GridOptionsView.ShowChildrenInGroupPanel设置为所有主控详图视图显示一个组面板。
在这里插入图片描述

对齐组行中的摘要

启用AlignGroupSummaryInGroupRow选项可以在相应列标题下的组行中显示组摘要。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

求出某空间曲面下的体积

求出某空间曲面下的体积 flyfish 用小长方体的体积和来逼近该体积 import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation# 定义函数 f(x, y) def f(x, y):return np.sin(np.pi * x) * np.sin(np.pi * y)# 创建网格 x np.linspac…

avi格式视频提示无法播放错误,怎么解决?

AVI视频属于一种无损质量的视频格式,一般来说是兼容Windows系统播放的。播不了可能是由以下原因导致的: 1.文件损坏:可能是原文件在转码压缩的过程中操作不当,导致数据丢失、文件损坏。 2.播放器格式不支持:可能系统的…

使用MappingJackson2HttpMessageConverter把java对象转换成json字符串

使用MappingJackson2HttpMessageConverter把java对象转换成json字符串 如下图: 运行结果如下图: 代码如下: /*** author 望轩* createDate 2024/6/27 15:27* 把java对象转换成json字符串*/ public class EntityToJson {public static voi…

web前端-CSS

CSS CSS概述: CSS是Cascading Style Sheets(级联样式表),是一种样式表语言,用于控制网页布局,外观(比如背景图片,图片高度,文本颜色,文本字体,高级定位等等) 可将页面的内容与样式分离开,样式放于单独的.css文件或者HTML某处 CSS是网页样式,HTML是网页…

怎么在必应bing上投放搜索广告?

搜索引擎已成为企业获取潜在客户、提升品牌曝光度的关键平台,微软必应(Bing)以其庞大的用户基数、精准的定位能力以及与微软生态系统的深度整合,为企业提供了极具价值的广告投放渠道。云衔科技助力企业实现必应bing广告的精准投放…

Hilbert-Huang变换

Hilbert-Huang变换可以高内聚信号特征自适应的将信号分解成若干固有模态函数。更适用于非线性非平稳信号的处理。 缺点: 1、存在端点延拓; 2、分解判据确定; 3、Hilbert解调固有局限性。 一、介绍 Hilbert-Huang变换是经验模态分解&…

Linux:进程和计划任务管理

目录 一、程序和进程 1.1、程序 1.2、进程 1.3、线程 1.4、协程 二、查看进程相关命令 2.1、ps命令(查看静态的进程统计信息) 第一行为列表标题,其中各字段的含义描述如下 2.2、top命令(查看进程动态信息) 2…

【强化学习的数学原理】课程笔记--1(基本概念,贝尔曼公式)

目录 基本概念State, Action, State transitionPolicy, Reward, Trajectory, Discount ReturnEpisodeMarkov decision process 贝尔曼公式推导确定形式的贝尔曼公式推导一般形式的贝尔曼公式State ValueAction Value 一些例子贝尔曼公式的 Matric-vector form贝尔曼公式的解析解…

VS studio2019配置远程连接Ubuntu

VS studio2019配置远程连接Ubuntu 1、网络配置 (1)获取主机IP (2)获取Ubuntu的IP (3)在 windows 的控制台中 ping 虚拟机的 ipv4 地址,在 Ubuntu 中 ping 主机的 ipv4 地址。 ubuntu: ping…

多分类情绪识别模型训练及基于ChatGLM4-9B的评论机器人拓展

你的下一个微博罗伯特何必是罗伯特 这是一篇我在使用开源数据集(Twitter Emotion Dataset (kaggle.com))进行情绪识别的分类模型训练及将模型文件介入对话模型进行应用的过程记录。当通过训练得到了可以输入新样本预测的模型文件后,想到了或许可以使用模型文件对新样…

recogito-js:用于文本注释/图像注释的前端插件

创建批注: 继续批注: 右侧批注列表: 1、功能与应用: 文本注释:recogito-js可以将注释功能添加到网页上,或者作为构建完全自定义注释应用程序的工具箱。图像注释:除了文本注释外,它还…

测试用例设计方法-因果图法

大家好,在软件开发过程中,测试是确保产品质量和稳定性的关键步骤。而设计有效的测试用例则是保证测试过程高效和全面的重要因素之一。在各种测试用例设计方法中,因果图法作为一种结构化和系统化的方法,日益受到测试人员的青睐。 因…

python练习题2

python期考复习题 目录 1. 判断n**2的值每一位互不相同​编辑 2. 密码 3. 图书版号 4. 情感分类矩阵 5. 计算数对个数 1. 判断n**2的值每一位互不相同 def isdiff(n):sstr(n)for i in range(len(s)):for j in range(len(s)):if i!j:if s[i]s[j]:return Falsereturn Truel…

ET9中ETTask传递新的Context原理

ET9中ETTask传递新的Context原理 前言 每一个异步函数都会创建两个对象, 第1个是当前异步函数返回值(ETTASK)对应的ETAsyncTaskMethodBuilder,通过这个类的静态方法Create创建返回,这个builder类中会有一个Task对象&…

FME实现批量合并shapefile文件数据,并提取原文件名,输出到属性表字段中的解决方法

目录 一、实现效果 二、实现过程 1.读取数据 2.暴露文件名属性 3.设置文件名字段 4.输出成果 5.模板的使用 三、总结 今天来介绍如何使用FME软件来实现对多个shapefile数据进行批量合并,同时提取原文件名并存储到合并后shapefile数据属性表字段中的方法&…

中小企业的数字化转型业务场景落地案例

引言:随着商业活动的复杂化和全球化程度的提高,合同作为商业交易的重要组成部分,其数量、条款和复杂性都在不断增加。企业面临着越来越多的合同管理挑战,包括合同数量增多、条款繁琐、文件分散存储等问题。而中小企业由于管理不到…

HMI 的 UI 风格,精妙无比

HMI 的 UI 风格,精妙无比

Shopee本土店选品有什么技巧?EasyBoss ERP为你整理了6个高效选品的方法!

电商圈有句话叫:七分靠选品,三分靠运营,选品对了,事半功倍,选品错了,功亏一篑! 很多卖家都会为选品发愁,特别对于Shopee本土店卖家来说,要囤货到海外仓,如果…

前端 Array.sort() 源码学习

源码地址 V8源码Array 710行开始为sort()相关 Array.sort()方法是那种排序呢&#xff1f; 去看源码主要是源于这个问题 // In-place QuickSort algorithm. // For short (length < 22) arrays, insertion sort is used for efficiency.源码中的第一句话就回答了我的问题…

QT的keypressevent只响应功能键不响应字母键或者组合键

参考https://bbs.csdn.net/topics/392378467 这位兄弟准确说明了解决方案。 在pyqt中&#xff0c;则在__init__中添加 self.grabKeyboard()