你可以设置的显示将行分组变成 OUTLOOK样式。对于大量的数据来说,这样会以用户需要的顺序显示数据。用户可以选择要进行的排序(以列为依据),然后控件会以此为依据将行组织起来,分级地显示数据。既可以通过双击列首的方式,也可以通过点击和拖拽此列进入页面头部分组栏的方式 选中要进行分组的列。
允许用户使用行分组
默认情况下,不允许用户在表单中进行行分组。 你可以开启这项特性,以便对整个表单的行进行分组。除了允许进行分组之外,你还需要允许移动列,因为用户通过使用点击和向分组栏中拖拽列首的方式进行分组,这就相当于移动列这一操作。与此同时,分组栏必须是可见的,列首(至少有一行) 是可见的。
使用表单的AllowGroup属性开启分组。 使用表单的Visible属性(GroupBarInfo类中)显示分组栏(用户可以将列首拖拽进入表单顶部的区域) 请记住设置表单的AllowColumnMove属性为真,以便于用户点击,拖拽列首。 除非你使用默认值,设置表单的ColumnHeaderVisible属性为true确保列首可以显示。
你可以开启或关闭行首,这些操作不影响分组的显示。
分组不支持AllowDragDrop属性。
你可以设置最终用户可以设置的分组层级的最大数目,这样可以限制可被拖入分组栏中的列首的数目。
下面的代码示例允许分组。
FpSpread1.AllowColumnMove = true; FpSpread1.ActiveSheet.GroupBarInfo.Visible = true; FpSpread1.ActiveSheet.AllowGroup = true; |
使用分组
通过向分组区中拖拽更多的列首,你可以允许用户分组并且根据不同的分组级别将数据排序。下面的图表显示了这样一个过程,该过程中使用了两个不同的级别进行分组。
通过点击展开(+)或者折叠(-)指示器,你也可以对分组进行展开和折叠。
在二次分组之前,将列首拖入分组栏中。 |
在二次分组之后,一个层级列表的第二级就可见了。 |
当不止一级别被选择时,较高的一级就会被父一级的分组调用,而较低的一级就会被子一级的分组调用。在上面的图片中显示了两级分组,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)---使用公式