Spread for Windows Forms快速入门(12)---数据分组(Outlook风格)

简介: 你可以设置的显示将行分组变成 OUTLOOK样式。对于大量的数据来说,这样会以用户需要的顺序显示数据。用户可以选择要进行的排序(以列为依据),然后控件会以此为依据将行组织起来,分级地显示数据。既可以通过双击列首的方式,也可以通过点击和拖拽此列进入页面头部分组栏的方式 选中要进行分组的列。

你可以设置的显示将行分组变成 OUTLOOK样式。对于大量的数据来说,这样会以用户需要的顺序显示数据。用户可以选择要进行的排序(以列为依据),然后控件会以此为依据将行组织起来,分级地显示数据。既可以通过双击列首的方式,也可以通过点击和拖拽此列进入页面头部分组栏的方式 选中要进行分组的列。

image

允许用户使用行分组

默认情况下,不允许用户在表单中进行行分组。 你可以开启这项特性,以便对整个表单的行进行分组。除了允许进行分组之外,你还需要允许移动列,因为用户通过使用点击和向分组栏中拖拽列首的方式进行分组,这就相当于移动列这一操作。与此同时,分组栏必须是可见的,列首(至少有一行) 是可见的。

使用表单的AllowGroup属性开启分组。 使用表单的Visible属性(GroupBarInfo类中)显示分组栏(用户可以将列首拖拽进入表单顶部的区域) 请记住设置表单的AllowColumnMove属性为真,以便于用户点击,拖拽列首。 除非你使用默认值,设置表单的ColumnHeaderVisible属性为true确保列首可以显示。

你可以开启或关闭行首,这些操作不影响分组的显示。

分组不支持AllowDragDrop属性。

你可以设置最终用户可以设置的分组层级的最大数目,这样可以限制可被拖入分组栏中的列首的数目。

下面的代码示例允许分组。

FpSpread1.AllowColumnMove = true;

FpSpread1.ActiveSheet.GroupBarInfo.Visible = true;

FpSpread1.ActiveSheet.AllowGroup = true;

使用分组

通过向分组区中拖拽更多的列首,你可以允许用户分组并且根据不同的分组级别将数据排序。下面的图表显示了这样一个过程,该过程中使用了两个不同的级别进行分组。

通过点击展开(+)或者折叠(-)指示器,你也可以对分组进行展开和折叠。

image image

在二次分组之前,将列首拖入分组栏中。

在二次分组之后,一个层级列表的第二级就可见了。

当不止一级别被选择时,较高的一级就会被父一级的分组调用,而较低的一级就会被子一级的分组调用。在上面的图片中显示了两级分组,Employee ID就是父一级的分组而First Name就是子一级的分组。

设置已经分组的行的外观

开发人员可以自定义分组的行头和列首的外观;可以设置当表单进行分组的时候,所有的项目默认展开或折叠显示;当进行分组时,可以设置颜色,也可以设置分级的名字与数据的格式;可以隐藏或显示表单顶部的分组栏。

分组的API成员

相关描述

IGroupSupport接口

支持分组的接口

GroupDataModel类

底层模型中将数据分组的类

Group类

支持分组的底层模型里面的类

Grouped和Grouping事件

在FpSpread类中的事件

GroupInfo

能够显示分组信息的类

GroupInfoCollection

分组信息集合

你也可以设置GroupInfo中的属性。 通过向此外观属性列表中添加样式,可以达到设置分组行的外观的目的。GroupInfoCollection包含了一组GroupInfo 对象。想要为特定的表单指定GroupInfo中的外观设置,你可以在表单中设置GroupInfos属性。 对分列操作进行外观设置包括如下方面:

1. 背景色

2. 边界

3. 字体

4. 前景色(文本颜色)

5. 水平对齐

6. 缩进,缩排

7. 缩进颜色

8. 垂直对齐

9. 当分组操作开始进行时,只用列和表单的外观设置依旧保持原样因为当分组操作进行时,行和单元格就会被移动,任何样式和合并设置就会被忽略。你可以使用IsGroup方法,用以判定一个要求 行是否是一个数据行或者一个分组的行首。

自定义分组栏

你可以自定义分组栏的外观,它位于分组显示的顶部。

你可以隐藏或显示表单顶部的分组栏,表单中(GroupBarInfo对象)的属性包括:

GroupBarInfo属性

描述

BackColor

设置分组栏的背景色

Height

设置分组栏的高度

Visible

对是否显示分组栏进行决策。

GroupVerticalIndent

在分组栏中设置分组名称之间的垂直距离(此项仅当多个组名时可用)。

你可以设置表单中允许进行分组的最大层次级别。SheetView对象中的属性是:

属性

描述

GroupMaximumLevel

设置允许用户进行分组的级别的 最大数目。

 

 

 

附:Spread for Windows Forms快速入门系列文章

Spread for Windows Forms快速入门(1)---开始使用Spread

Spread for Windows Forms快速入门(2)---设置Spread表单

Spread for Windows Forms快速入门(3)---行列操作

Spread for Windows Forms快速入门(4)---常用的单元格类型(上)

Spread for Windows Forms快速入门(5)---常用的单元格类型(下)

Spread for Windows Forms快速入门(6)---定义单元格的外观

Spread for Windows Forms快速入门(7)---单元格的交互操作

Spread for Windows Forms快速入门(8)---单元格中用户动作出发的事件

Spread for Windows Forms快速入门(9)---使用公式

Spread for Windows Forms快速入门(10)---绑定到数据库

Spread for Windows Forms快速入门(11)---数据筛选

 

相关阅读:

Spread for Windows Forms 7新功能使用指南

Spread Studio 10.0v1 发布

SpreadJS 10.0v1 发布

 

相关文章
|
数据采集 机器学习/深度学习 数据挖掘
python数据分析——数据预处理
数据预处理是数据分析过程中不可或缺的一环,它的目的是为了使原始数据更加规整、清晰,以便于后续的数据分析和建模工作。在Python数据分析中,数据预处理通常包括数据清洗、数据转换和数据特征工程等步骤。
496 0
|
存储 编译器 C语言
计算机组成与体系结构期末题目解析
计算机组成与体系结构期末题目解析
2465 0
计算机组成与体系结构期末题目解析
|
运维 Cloud Native 前端开发
GIAC | KCL:声明式的云原生配置策略语言
大家好,我是来自蚂蚁集团的同学,很高兴能在GIAC的编程语言新范式板块和大家分享《KCL配置策略语言》。KCL语言是蚂蚁内部的Kusion解决方案中针对云原生基础设施配置代码化自研的DSL语言,目前已经在建站场景等一些场景开始小范围推广试用。
GIAC | KCL:声明式的云原生配置策略语言
|
数据可视化 关系型数据库 MySQL
一篇永久摆脱Mysql时区错误问题,idea数据库可视化插件配置
一篇永久摆脱Mysql时区错误问题,idea数据库可视化插件配置
一篇永久摆脱Mysql时区错误问题,idea数据库可视化插件配置
|
Web App开发 JavaScript 前端开发
vue 项目调试的三种方法和不同比较
之前的一篇文章讲了两种在 vue 项目中调试的方法,一个是在项目源码中手动加入断点(debugger), 然后利用 Chrome 调试,第二种是直接在 Chrome 中打断点调试,但是需要知道怎么找到
|
机器学习/深度学习 数据采集 分布式计算
PAI Designer用量与计费查看Quick Start
PAI Designer(Studio 2.0)基于云原生架构Pipeline Service(PAIFlow)的可视化建模工具, 提供可视化机器学习开发环境,实现低门槛开发人工智能服务。提供丰富且成熟的机器学习算法,支持基于MaxCompute、PAI-DLC、Flink等计算资源进行大规模分布式运算,能满足您不同方向的业务需求。PAI-Designer提供的常规机器学习组件仅支持后付费(按量计费),深度学习组件支持后付费和预付费(包年包月)。许多客户在使用服务后,往往不知如果查看消费的费用以及有相应组件具体用量、消耗金额等需求。本文以九月份组件的消费为例,为您介绍如何查看及计算实验费用。
618 1
PAI Designer用量与计费查看Quick Start
|
JavaScript 数据安全/隐私保护
vue基于 input 实现密码的显示与隐藏功能
vue基于 input 实现密码的显示与隐藏功能
vue基于 input 实现密码的显示与隐藏功能
|
程序员 Linux 网络安全
超级简单的搭建网页版vscode编辑器教程
从购买服务器到搭建vscode编辑器都有很详细的图文教程哦!
1080 0
超级简单的搭建网页版vscode编辑器教程
|
Web App开发 算法 安全
详细讲解https证书openssl公钥私钥以及ssh公钥私钥的生成以及使用
详细讲解https证书openssl公钥私钥以及ssh公钥私钥的生成以及使用
1305 0
详细讲解https证书openssl公钥私钥以及ssh公钥私钥的生成以及使用
|
芯片
STM32入门开发: NEC红外线协议解码(超低成本无线传输方案)
STM32入门开发: NEC红外线协议解码(超低成本无线传输方案)
827 0
STM32入门开发: NEC红外线协议解码(超低成本无线传输方案)