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 发布

 

相关文章
|
8月前
|
存储 弹性计算 安全
阿里云服务器付费类型、地域、镜像、存储、带宽和安全组设置与选择注意事项参考
在我们通过自定义购买的方式购买阿里云服务器器ECS时,会有多个选项,有的新手用户可能并不是很清楚这些选项是什么,选择或设置时需要注意什么,本文将从付费类型、地域与可用区、镜像、存储、带宽和安全组等多个方面,为您详细解析云服务器购买过程中各个参数与配置的选择注意事项,以供参考。
456 66
|
8月前
|
存储 人工智能 缓存
AI变革药物研发:深势科技的云原生实践之路
阿里云助力深势科技推出创新的玻尔Bohrium®科研云平台和Hermite®药物计算设计平台,并持续完善。这两项先进的工业设计与仿真基础设施成果通过AI技术赋能科学研究和工业研发,不仅大幅缩短了药物研发周期,降低了成本,还显著提高了研发成功率,为生物医药行业带来了前所未有的变革,这是AI for Science领域的重大突破。
540 38
|
Ubuntu Linux 网络安全
在Linux上安装软件有多种方法
在Linux上安装软件有多种方法
539 64
|
10月前
|
存储 JSON 区块链
【HarmonyOS NEXT开发——ArkTS语言】购物商城的实现【合集】
HarmonyOS应用开发使用@Component装饰器将Home结构体标记为一个组件,意味着它可以在界面构建中被当作一个独立的UI单元来使用,并且按照其内部定义的build方法来渲染具体的界面内容。txt:string定义了一个名为Data的接口,用于规范表示产品数据的结构。src:类型为,推测是用于引用资源(可能是图片资源等)的一种特定类型,用于指定产品对应的图片资源。txt:字符串类型,用于存放产品的文字描述,比如产品名称等相关信息。price:数值类型,用于表示产品的价格信息。
403 5
|
12月前
|
存储 缓存 前端开发
Web端IM聊天消息该不该用浏览器本地存储?一文即懂!
鉴于目前浏览器技术的进步(主要是HTML5的普及),在Web网页端IM聊天应用的技术选型阶段,很多开发者都会纠结到底该不该像原生移动端IM那样将聊天记录缓存在浏览器的本地,还是像传统Web端即时通讯那样继续存储在服务端?本文将为你简洁明了地讲清楚浏览器本地存储技术(Web Storage),然后你就知道到底该怎么选择了。
308 1
SDL事件处理以及线程使用(2)
SDL库中事件处理和多线程编程的基本概念和示例代码,包括如何使用SDL事件循环来处理键盘和鼠标事件,以及如何创建和管理线程、互斥锁和条件变量。
183 1
SDL事件处理以及线程使用(2)
|
12月前
|
前端开发
CSS transition过渡属性详解
本文介绍了CSS中`transition`属性的作用、用法及实例。`transition`用于在元素属性变化时添加平滑过渡动画,通过设置`transition-property`、`transition-duration`、`transition-timing-function`和`transition-delay`等属性值,可以精细控制过渡效果。文末提供了HTML示例代码,展示了如何使用`transition`实现鼠标悬停时背景颜色的平滑变化。
530 1
|
12月前
|
监控 自动驾驶 机器人
5G技术在智能制造中的融合应用
5G技术在智能制造中的融合应用
319 0
|
关系型数据库 MySQL 测试技术
MySQL外键使用的考量与建议
综上所述,虽然MySQL的外键提供了一种强大的工具来维护数据之间的一致性和完整性,但在决定是否使用外键时,需要权衡其带来的好处和潜在的性能影响。通过仔细的规划和测试,可以最大化地利用外键的优势,同时避免一些常见的陷阱。
376 1
|
传感器 vr&ar Android开发
基于Arduino的智能眼镜
基于Arduino的智能眼镜
424 0