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 Outlook 登录问题
Windows Outlook 登录问题解决办法
Windows Outlook 登录问题
|
计算机视觉 Windows Python
windows下使用python + opencv读取含有中文路径的图片 和 把图片数据保存到含有中文的路径下
在Windows系统中,直接使用`cv2.imread()`和`cv2.imwrite()`处理含中文路径的图像文件时会遇到问题。读取时会返回空数据,保存时则无法正确保存至目标目录。为解决这些问题,可以使用`cv2.imdecode()`结合`np.fromfile()`来读取图像,并使用`cv2.imencode()`结合`tofile()`方法来保存图像至含中文的路径。这种方法有效避免了路径编码问题,确保图像处理流程顺畅进行。
2028 1
|
网络协议 数据建模 数据安全/隐私保护
网安快速入门之Windows命令
本文简要介绍了Windows命令行中常用的11个命令,帮助快速入门网络安全和系统管理。这些命令包括:`help`(获取命令帮助)、`copy`(复制文件)、`dir`(显示目录内容)、`cd`(更改当前目录)、`type`(显示文本文件内容)、`del`(删除文件)、`ipconfig`(查看网络配置)、`net`(用户和组管理)、`netstat`(显示网络连接)、`tasklist`(显示进程信息)和`sc`(服务控制)。每个命令都有其特定用途,掌握它们可以大大提高工作效率和系统维护能力。
|
安全 C# 开发者
Windows Forms 应用开发:一分钟浅谈
本文将带领您从零开始,逐步掌握使用 C# 进行 Windows Forms 开发的技巧,包括创建首个应用、处理常见问题及优化方法。首先介绍如何搭建环境并编写基础代码,接着深入探讨控件使用与布局管理,解决控件重叠和响应式布局难题。最后讲解事件处理与多线程技术,确保长时间任务不阻塞界面,并安全更新 UI 状态,助您开发流畅的应用程序。
620 63
|
数据库 数据安全/隐私保护 Windows
Windows远程桌面出现CredSSP加密数据修正问题解决方案
【10月更文挑战第30天】本文介绍了两种解决Windows系统凭据分配问题的方法。方案一是通过组策略编辑器(gpedit.msc)启用“加密数据库修正”并将其保护级别设为“易受攻击”。方案二是通过注册表编辑器(regedit)在指定路径下创建或修改名为“AllowEncryptionOracle”的DWORD值,并将其数值设为2。
11143 3
|
开发框架 .NET API
Windows Forms应用程序中集成一个ASP.NET API服务
Windows Forms应用程序中集成一个ASP.NET API服务
358 9
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
395 1
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
|
Web App开发 存储 安全
微软警告数百万Windows用户:切勿冒险丢失所有数据
微软警告数百万Windows用户:切勿冒险丢失所有数据
微软警告数百万Windows用户:切勿冒险丢失所有数据
|
存储 缓存 安全
硬盘数据恢复:恢复硬盘数据的9个实用方法(Windows版)
无论是工作文档、家庭照片,还是其他珍贵的数字资产,数据丢失总是一件让人头疼的事情。然而,当硬盘发生问题时,不必过于慌张——只要正确应对,许多数据都可以被成功恢复。本文将从常见数据丢失原因到具体恢复方法,为您提供全面的硬盘数据恢复指导。
|
数据库 Windows
超详细步骤解析:从零开始,手把手教你使用 Visual Studio 打造你的第一个 Windows Forms 应用程序,菜鸟也能轻松上手的编程入门指南来了!
【8月更文挑战第31天】创建你的第一个Windows Forms (WinForms) 应用程序是一个激动人心的过程,尤其适合编程新手。本指南将带你逐步完成一个简单WinForms 应用的开发。首先,在Visual Studio 中创建一个“Windows Forms App (.NET)”项目,命名为“我的第一个WinForms 应用”。接着,在空白窗体中添加一个按钮和一个标签控件,并设置按钮文本为“点击我”。然后,为按钮添加点击事件处理程序`button1_Click`,实现点击按钮后更新标签文本为“你好,你刚刚点击了按钮!”。
1686 0