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

简介:

开发人员可以对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);

 



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

相关文章
|
4月前
|
计算机视觉 Windows Python
windows下使用python + opencv读取含有中文路径的图片 和 把图片数据保存到含有中文的路径下
在Windows系统中,直接使用`cv2.imread()`和`cv2.imwrite()`处理含中文路径的图像文件时会遇到问题。读取时会返回空数据,保存时则无法正确保存至目标目录。为解决这些问题,可以使用`cv2.imdecode()`结合`np.fromfile()`来读取图像,并使用`cv2.imencode()`结合`tofile()`方法来保存图像至含中文的路径。这种方法有效避免了路径编码问题,确保图像处理流程顺畅进行。
371 1
|
3月前
|
安全 C# 开发者
Windows Forms 应用开发:一分钟浅谈
本文将带领您从零开始,逐步掌握使用 C# 进行 Windows Forms 开发的技巧,包括创建首个应用、处理常见问题及优化方法。首先介绍如何搭建环境并编写基础代码,接着深入探讨控件使用与布局管理,解决控件重叠和响应式布局难题。最后讲解事件处理与多线程技术,确保长时间任务不阻塞界面,并安全更新 UI 状态,助您开发流畅的应用程序。
137 64
|
24天前
|
数据库 数据安全/隐私保护 Windows
Windows远程桌面出现CredSSP加密数据修正问题解决方案
【10月更文挑战第30天】本文介绍了两种解决Windows系统凭据分配问题的方法。方案一是通过组策略编辑器(gpedit.msc)启用“加密数据库修正”并将其保护级别设为“易受攻击”。方案二是通过注册表编辑器(regedit)在指定路径下创建或修改名为“AllowEncryptionOracle”的DWORD值,并将其数值设为2。
64 3
|
2月前
|
开发框架 .NET API
Windows Forms应用程序中集成一个ASP.NET API服务
Windows Forms应用程序中集成一个ASP.NET API服务
97 9
|
4月前
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
131 1
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
|
4月前
|
Web App开发 存储 安全
微软警告数百万Windows用户:切勿冒险丢失所有数据
微软警告数百万Windows用户:切勿冒险丢失所有数据
微软警告数百万Windows用户:切勿冒险丢失所有数据
|
4月前
|
数据库 Windows
超详细步骤解析:从零开始,手把手教你使用 Visual Studio 打造你的第一个 Windows Forms 应用程序,菜鸟也能轻松上手的编程入门指南来了!
【8月更文挑战第31天】创建你的第一个Windows Forms (WinForms) 应用程序是一个激动人心的过程,尤其适合编程新手。本指南将带你逐步完成一个简单WinForms 应用的开发。首先,在Visual Studio 中创建一个“Windows Forms App (.NET)”项目,命名为“我的第一个WinForms 应用”。接着,在空白窗体中添加一个按钮和一个标签控件,并设置按钮文本为“点击我”。然后,为按钮添加点击事件处理程序`button1_Click`,实现点击按钮后更新标签文本为“你好,你刚刚点击了按钮!”。
289 0
|
4月前
|
编解码 开发工具 C#
Windows电脑如何启动RTSP服务实现本地摄像头数据共享
本文介绍如何利用大牛直播SDK中的轻量级RTSP服务,在Windows平台上轻松采集摄像头数据并生成本地RTSP流。通过SDK提供的SmartPublisherDemo工具,用户能简便地选择摄像头、配置分辨率与帧率,并启动RTSP服务。此外,还支持音频采集、多端口服务以及动态水印等功能。生成的RTSP URL可用于其他终端拉流播放,无需额外部署服务器。该服务适配多种应用场景,如安防监控、电子教室等,并兼容Windows 7及以上版本。对于希望集成此功能的开发者,SDK提供了C++及C#接口,并支持多种编译模式。
129 0
|
Windows
Windows 8实例教程系列 - 数据绑定基础实例
原文:Windows 8实例教程系列 - 数据绑定基础实例   数据绑定是WPF,Silverlight以及Windows Phone应用开发中最为常用的开发技术,在基于XAML的Windows Store应用开发中,数据绑定是其开发特性之一,本文将讨论Windows 8应用开发数据绑定的使用。
1096 0