找回密码
 立即注册

QQ登录

只需一步,快速开始

afei_liuge
金牌服务用户   /  发表于:2023-10-10 10:15  /   查看:2176  /  回复:3
问题: 在Winform spread.net 的表格 排序中 fpSpread.AutoSortingColumn 事件中 参数 的 e.Ascending 设置无效果。
当我在排序前事件如下,中设置 e.Ascending为 false .  这个后实现点击表头排序还是按原来点的排序来做排序的。 此处设置不启作用.


private void FpSpread_AutoSortingColumn(object sender, AutoSortingColumnEventArgs e)
{
e.Ascending = false;
}


请问要怎么设置才可以 使得点击了 列头排序图标后 可以手动 设置排序方式?

3 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-10-10 11:26:08
沙发
可以尝试在cancel后,自己写代码来执行需要的逻辑,比如重新用AutoSortColumn方法,执行倒序查询

  1.         private void FpSpread1_AutoSortingColumn(object sender, AutoSortingColumnEventArgs e)
  2.         {
  3.             if (e.Ascending)
  4.             {
  5.                 e.Cancel = true;
  6.                 (sender as FpSpread).ActiveSheet.AutoSortColumn(e.Column, false);
  7.             }

  8.         }
复制代码
回复 使用道具 举报
afei_liuge
金牌服务用户   /  发表于:2023-10-10 12:37:14
板凳
Richard.Ma 发表于 2023-10-10 11:26
可以尝试在cancel后,自己写代码来执行需要的逻辑,比如重新用AutoSortColumn方法,执行倒序查询

这样会死循环的
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-10-10 16:03:06
地板
是的,这种方法有局限性。所以可能得通过一些逻辑代码控制,这是给出的临时解决办法。

这个Ascending设置无效的问题。需要和研发确认是否是bug还是其他原因
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部