找回密码
 立即注册

QQ登录

只需一步,快速开始

rongchao

注册会员

5

主题

15

帖子

54

积分

注册会员

积分
54

活字格认证

最新发帖

[已处理] AllowAutoSort问题

rongchao
注册会员   /  发表于:2016-6-6 16:17  /   查看:3761  /  回复:3
某一列设置了自动排序,但是我想这一列的第一行或某一行不参与排序,如何设置?以下筛选的时候,自变量跑到下边了,就想保持第一行不参与排序。
QQ图片20160606161116.png

3 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-6-6 17:30:35
沙发
您好,您这个需求使用自动排序无法实现,需要您使用 SortColumns 方法对需要的行排序。
FarPoint.Win.Spread.SortInfo[] sorter = new FarPoint.Win.Spread.SortInfo[1];
sorter[0] = new FarPoint.Win.Spread.SortInfo(0, false, System.Collections.Comparer.Default);
fpSpread1.ActiveSheet.SortColumns(12,230,sorter);

回复 使用道具 举报
rongchao
注册会员   /  发表于:2016-6-13 11:22:53
板凳
SortColumns是根据行值选定列排序。我的需要是某一列的行排序,但是某一行不参与排序。我发现还有SortRows。但是SortRows竟然和SortColumns完全不一样,不能限定排序的行,SortColumns则可以限定排序的列。
另外我发现AllowAutoSort,如果第一行的Check打勾,则这一列的第一行不参与排序,如果没打勾,则会出现我图中的情况,Check排到最后。
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-6-14 08:26:43
地板
那您用 SortRange.对您需要的区域进行排序

  1.             FarPoint.Win.Spread.SortInfo[] sort = new FarPoint.Win.Spread.SortInfo[1];
  2.             sort[0] = new FarPoint.Win.Spread.SortInfo(0, acc, System.Collections.Comparer.Default);
  3.             acc = !acc;

  4.             var rowCount = 3;
  5.             fpSpread1.ActiveSheet.SortRange(0, 0, rowCount - 1, 4, true, sort);
复制代码


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部