Spread for Windows Forms快速入门(12)---数据分组(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

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

 


本文转自 powertoolsteam 51CTO博客,原文链接:http://blog.51cto.com/powertoolsteam/636910,如需转载请自行联系原作者

相关文章
|
7月前
|
开发工具 Windows
Windows平台RTMP推送|轻量级RTSP服务实现本地摄像头|屏幕|叠加数据预览
大家在做Windows平台RTMP推送或轻量级RTSP服务的时候,不管是采集屏幕还是采集摄像头,亦或屏幕摄像头的叠加模式,总会有这样的诉求,采集到的数据,希望能本地看看具体采集的数据或者图像实际效果,也就是本次介绍的“预览”功能。
190 0
|
消息中间件 安全 API
C#实现操作Windows窗口句柄:SendMessage/PostMessage发送系统消息、事件和数据【窗口句柄总结之二】
SendMessage/PostMessage API 可以实现发送系统消息,这些消息可以定义为常见的鼠标或键盘事件、数据的发送等各种系统操作......
3703 1
C#实现操作Windows窗口句柄:SendMessage/PostMessage发送系统消息、事件和数据【窗口句柄总结之二】
|
3月前
|
存储 Kubernetes 安全
虚拟机测试Windows Server 2016原地升级2019,应用和数据完美保留
Windows Server 2016可以无缝升级到2019版本,确保应用程序和数据在原地升级过程中完整保留。
103 0
|
3月前
|
关系型数据库 MySQL Java
windows下mybatis插入mysql数据中文乱码问题解决
windows下mybatis插入mysql数据中文乱码问题解决
|
4月前
|
存储 数据安全/隐私保护 Windows
4.5 Windows驱动开发:内核中实现进程数据转储
多数ARK反内核工具中都存在驱动级别的内存转存功能,该功能可以将应用层中运行进程的内存镜像转存到特定目录下,内存转存功能在应对加壳程序的分析尤为重要,当进程在内存中解码后,我们可以很容易的将内存镜像导出,从而更好的对样本进行分析,当然某些加密壳可能无效但绝大多数情况下是可以被转存的。
24 0
4.5 Windows驱动开发:内核中实现进程数据转储
|
5月前
|
监控 C# Windows
内网桌面监控软件中的远程控制功能实现(基于C#和Windows Forms)
近年来,随着远程办公的兴起,对内网桌面监控软件的需求逐渐增加。本文将探讨如何通过C#和Windows Forms实现内网桌面监控软件中的远程控制功能,并在结尾部分介绍监控到的数据如何自动提交到网站。
279 0
|
存储 监控 数据可视化
在Windows下使用JMeter集群+Influxdb存储+Grafana实时数据展示
在Windows下使用JMeter集群+Influxdb存储+Grafana实时数据展示
295 0
在Windows下使用JMeter集群+Influxdb存储+Grafana实时数据展示
|
JSON 关系型数据库 MySQL
windows python web flask获取请求参数数据
windows python web flask获取请求参数数据
windows python web flask获取请求参数数据
|
安全 Python Windows
windows python web flask 模板开发快速入门
windows python web flask 模板开发快速入门
windows python web flask 模板开发快速入门
|
JSON 关系型数据库 MySQL
windows python flask读取文件数据并返回表格
windows python flask读取文件数据并返回表格
windows python flask读取文件数据并返回表格