afei_liuge 发表于 2023-10-10 10:15:58

fpSpread.AutoSortingColumn 事件中 参数 的 e.Ascending 设置无效果

问题: 在Winform spread.net 的表格 排序中 fpSpread.AutoSortingColumn 事件中 参数 的 e.Ascending 设置无效果。
当我在排序前事件如下,中设置 e.Ascending为 false .这个后实现点击表头排序还是按原来点的排序来做排序的。 此处设置不启作用.


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


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

Richard.Ma 发表于 2023-10-10 11:26:08

可以尝试在cancel后,自己写代码来执行需要的逻辑,比如重新用AutoSortColumn方法,执行倒序查询

      private void FpSpread1_AutoSortingColumn(object sender, AutoSortingColumnEventArgs e)
      {
            if (e.Ascending)
            {
                e.Cancel = true;
                (sender as FpSpread).ActiveSheet.AutoSortColumn(e.Column, false);
            }

      }

afei_liuge 发表于 2023-10-10 12:37:14

Richard.Ma 发表于 2023-10-10 11:26
可以尝试在cancel后,自己写代码来执行需要的逻辑,比如重新用AutoSortColumn方法,执行倒序查询

这样会死循环的

Richard.Ma 发表于 2023-10-10 16:03:06

是的,这种方法有局限性。所以可能得通过一些逻辑代码控制,这是给出的临时解决办法。

这个Ascending设置无效的问题。需要和研发确认是否是bug还是其他原因
页: [1]
查看完整版本: fpSpread.AutoSortingColumn 事件中 参数 的 e.Ascending 设置无效果