gpt4 book ai didi

WPF DataGrid - 在编辑行时禁用排序和过滤?

转载 作者:行者123 更新时间:2023-12-05 00:10:58 25 4
gpt4 key购买 nike

有没有人尝试过实现以下场景?我有兴趣了解有哪些解决方案可以实现这一目标。这已经成为我们用户的真正痛苦......

我们有一个 WPF DataGrid,它使用户能够根据 Column(其中 Column = Value 或 Begins With、Ends With、Contains 等)过滤他们的数据行。他们还可以通过单击其中一个列标题对数据进行排序,或者我们还为他们提供了一个排序窗口,他们可以在其中添加多列并为每列选择升序/降序(这只是应用于每个列的“SortDirection”属性他们选择,它似乎也使用“CollectionView”和 SortDescriptions)。

问题是当用户正在编辑数据并应用了“过滤器”或“排序”(或两者)时,如果用户编辑这些过滤/排序列之一上的值,该行将“移动”并占据光标伴随着它。如果新值是“过滤”的值,则该行将完全消失(由于用户应用了“过滤”,它应该如此)。

他们希望发生以下两种情况之一:

1 - 继续并在每个单元格更改后自动排序和过滤,如果行“移动”,将光标移动到下一行(同一单元格)而不是行后面的光标到其新目的地(并可能滚动当前屏幕外的可见数据行)。

2 - 编辑一行后,禁用所有排序和过滤,直到用户单击“保存”或“刷新”(或其他选项)?

我还可以看到我们可以在哪些地方采用一种过滤方法和另一种排序方法。

有没有人有更好的主意或对如何实现这一点有任何想法?

我有几个想法(例如,禁用排序:在我的 CellEditEnding 事件处理程序中,我可以存储用户排序选项,从每列中清除它们,然后在用户单击保存/重置时重新应用它们,或者我可以处理“排序”事件并将“e.handled”设置为true,当数据被编辑时??)。我是 WPF 和 DataGrid 的新手,我想知道是否有“最佳实践”或我还没有找到的属性,例如“DisableSorting=true/false”(笑)。

想法?意见?

最佳答案

我刚刚遇到了同样的问题,似乎找到了解决方案。这很简单 - 只需添加另一个 SortDescription 作为辅助排序标准。

关于WPF DataGrid - 在编辑行时禁用排序和过滤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5235781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com