找回密码
 立即注册

QQ登录

只需一步,快速开始

libo
注册会员   /  发表于:2018-7-24 17:14  /   查看:3498  /  回复:3
Spread7中sortrange排序时,有空值的时候,能否保持空值行的相对位置不变?
排序前如图00001.png
排序代码如下
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim sortinfo(0) As FarPoint.Win.Spread.SortInfo
        sortinfo(0) = New SortInfo(1, True)
        FpSpread1.ActiveSheet.SortRange(0, 0, 26, FpSpread1.ActiveSheet.ColumnCount, True, sortinfo)
    End Sub
排序后如图00002.png
问题,空值所在行的相对位置变了,
比如排序前c,d,e,f,g所在的行,在k,l,m,n,o等所在的行的前面,
排序后c,d,e,f,g所在的行也应该在k,l,m,n,o等所在的行的前面,
然而现在的结果不是这样的。

能否让排序后空值所在行的相对位置保持不变?
00001.png
00002.png

3 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-7-25 08:50:31
沙发
没有这样的功能,在range里的单元格都参与排序,这样的需求只能自己实现了。
回复 使用道具 举报
libo
注册会员   /  发表于:2018-7-25 09:00:56
板凳
Spread6的sort排序,空值所在列相对位置不变。
Spread6的sort方法和Spread7的SortRange排序算法是一样的吗?
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-7-25 11:21:56
地板
抱歉,我开始理解错您的问题了。
您是说排序后第一列数据顺序乱了,这个是算法稳定性的问题,我在新版V11测试了是稳定的,有可能是老版本的问题。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部