Spread for Windows Forms快速入门(13)---数据排序

简介: 开发人员可以对Spread表单中的行和列进行自动排序操作,如根据指定的列,以升序方式自动排序表单中的数据。同时,也可以显示排序指示器。这些操作不会影响数据模型 仅仅涉及数据如何显示。 允许用户自动地对行进行排序 你可以设置表单以允许用户在列首被点击的情况下使用自动排序这一功能。

开发人员可以对Spread表单中的行和列进行自动排序操作,如根据指定的列,以升序方式自动排序表单中的数据。同时,也可以显示排序指示器。这些操作不会影响数据模型 仅仅涉及数据如何显示。

允许用户自动地对行进行排序

你可以设置表单以允许用户在列首被点击的情况下使用自动排序这一功能。当列首第一次被点击(被选中)时,未排序的图标就会显示。第二次点击时就会显示排序图标并且会将列进行排序。如果用户在相同的列上 连续点击,那么排序的方向就会被反转。这并不影响数据模型,只会影响数据如何显示。下面的图表显示了未排序图标。

image

使用Column对象的 AllowAutoSort 属性或者SheetView对象的SetColumnAllowAutoSort 方法允许用户点击列首进行自动排序操作。设置列的SortIndicator属性以显示排序指示器。

设置SetColumShowSortIndicator方法或者ShowSortIndicator 属性以显示或隐藏排序指示器。排序指示器在列的头部的显示方式如下图,它显示了升序和降序的排序指示器。

升序指示器

降序指示器

image image
   

当用户排序数据时,排序之前会发生AutoSortingColumn事件,排序之后会发生AutoSortedColumn事件。

下面的示例显示了对进行前面的30列进行自动排序:

fpSpread1.Sheets[0].Columns[0,29].AllowAutoSort = true;

or

fpSpread1.Sheets[0].SetColumnAllowAutoSort(0,30,true);

使用自动排序

在表单中,根据指定的键,使用AutoSortColumn方法对显示区域进行排序操作。 并使用SetColumShowSortIndicator来设置是否显示排序指示器。 AutoSortColumn方法进行的操作与点击指定列的列首操作相同(如果此列的 AllowAutoSort属性已被设为true)。如果同一个列索引成功调用此方法,那么排序的方向就会发生倒置。如果此方法被不同的列索引调用,那么这之前的 已排序的列指示器就会被改回SortIndicator.None(如果有),并且表单以指定的列为键进行排序。 这些操作不会影响数据模型,只会影响数据显示方式。这种方法的几种不同的重载提供了不同的排序方式。

下面的这个示例自动的将第一列进行排序。

fpSpread1.ActiveSheet.SetColumnAllowAutoSort(0, true);

fpSpread1.ActiveSheet.SetColumnShowSortIndicator(0, false);

fpSpread1.ActiveSheet.AutoSortColumn(0);

对若干行,列,或者一个区域进行排序

根据跟定列的值对整个表单的所有行进行排序是最常见的一种情况。同时Spread也允许你既可以对行或者列进行排序,又可以指定列或行作为关键字进行排列。这种排列对整个表单都有效。

通过使用SortColumns (或 SortRows)方法,以某个或某几个行(或列)作为键,对表单中一定区域内的列或行进行排序。 这些操作不会影响数据模型,仅作用于数据的显示。

你可以只对某一区域内的单元格的数据进行排序,这是相当有用的。举例来讲,当你想要进行根据数量的顺序对许多行进行排序,但不包含最后一行统计数据,上面的 操作就相当有效。这种情况下,你可以在一个单元格区域内对数据进行排序,但是除掉最后一行,最后一行不参与排序。

 

在某一区域内对数据进行排序的方式有两种。对于绑定数据而言,使用SortRows方法和SortColumns方法, 同时在重载函数中传入指定的参数,这样你就可以指定哪个行区域或哪个列区域进行排序。对于非绑定数据而言,仅仅需要使用 SortRange方法。此方法不适用于绑定数据,因为操作产生的数据移动(并不是对整行整列生效)会影响源数据。

这段代码根据第二列的数据对所有行进行筛选。(因为列索引是以零为基础的,第二列的索引为1),排序指示器已经启动。

fpoint1.ActiveSheet.SortRows(1,true,true);

下面的示例显示了使用预先定义过排序信息列表对第12行到第230行进行排序。

FarPoint.Win.Spread.SortInfo[] sorter = new FarPoint.Win.Spread.SortInfo[1];

sorter[0] = new FarPoint.Win.Spread.SortInfo(0, false, System.Collections.Comparer.Default);

fpoint1.ActiveSheet.SortColumns(12,230,sorter);

 

附: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快速入门(12)---数据分组(Outlook风格)

 

相关阅读:

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

Spread Studio 10.0v1 发布

SpreadJS 10.0v1 发布

 

相关文章
|
索引 Windows
Spread for Windows Forms快速入门(9)---使用公式
Spread的公式计算引擎支持300多种内置函数,并支持通过内置函数和运算符来自定义公式。支持的函数包括日期、时间函数、工程计算函数、财务计算函数、逻辑函数、数学和三角函数、统计函数、文本函数等。 公式计算引擎支持单元格的引用、表单的交叉引用、循环引用、函数嵌套等。
1076 0
|
13天前
|
运维 安全 网络安全
Windows Server 2019拨号“找不到设备”?Error 1058解决指南
Windows Server 2019拨号报错1058?别急!这不是硬件故障,而是关键服务被禁用。通过“服务依存关系”排查,依次启动“安全套接字隧道协议”“远程接入连接管理”和“路由与远程访问”服务,仅需4步即可恢复PPPoE或VPN拨号功能,轻松解决网络中断问题。
94 1
|
14天前
|
存储 SQL 人工智能
Windows Server 2025 中文版、英文版下载 (2025 年 9 月更新)
Windows Server 2025 中文版、英文版下载 (2025 年 9 月更新)
455 3
Windows Server 2025 中文版、英文版下载 (2025 年 9 月更新)
|
16天前
|
安全 Unix 物联网
Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 9 月更新)
Windows 7 & Windows Server 2008 R2 简体中文版下载 (2025 年 9 月更新)
153 2
|
5月前
|
安全 数据安全/隐私保护 虚拟化
Windows Server 2022 中文版、英文版下载 (2025 年 5 月更新)
Windows Server 2022 中文版、英文版下载 (2025 年 5 月更新)
782 2
|
10天前
|
安全 Linux iOS开发
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
76 0
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
|
2月前
|
Linux 虚拟化 iOS开发
Windows Server 2025 OVF (2025 年 8 月更新) - VMware 虚拟机模板
Windows Server 2025 OVF (2025 年 8 月更新) - VMware 虚拟机模板
222 3
Windows Server 2025 OVF (2025 年 8 月更新) - VMware 虚拟机模板
|
2月前
|
安全 数据安全/隐私保护 虚拟化
Windows Server 2022 中文版、英文版下载 (2025 年 8 月更新)
Windows Server 2022 中文版、英文版下载 (2025 年 8 月更新)
549 3
Windows Server 2022 中文版、英文版下载 (2025 年 8 月更新)
|
4月前
|
Linux 虚拟化 iOS开发
Windows Server 2016 OVF (2025 年 6 月更新) - VMware 虚拟机模板
Windows Server 2016 OVF (2025 年 6 月更新) - VMware 虚拟机模板
87 9
Windows Server 2016 OVF (2025 年 6 月更新) - VMware 虚拟机模板

热门文章

最新文章