gpt4 book ai didi

c# - 排序后保留数据网格中的选定行

转载 作者:太空宇宙 更新时间:2023-11-03 15:51:33 24 4
gpt4 key购买 nike

我正在使用 WPF 数据网格,可以在其中选择多条记录并对其进行排序(通过单击列标题)。

我希望能够在排序后保留选定的行

请注意我可以保留选定的行,当要保留的行超过 1 时会出现问题。

举个例子: 我选择索引为 2 和 3 的行,然后对特定列进行排序。在排序功能之后,我希望能够保留选定的行(旧索引 2,3)和新索引 - 4,5。因此,排序后,必须选择第 4 和第 5 行。

我的数据网格的项目源是 ListCollectionView 类型,我在需要排序时向其添加排序描述。

我尝试过的事情:

尝试设置 SelectedItems 属性。不起作用,因为它是只读属性。

尝试设置 DataGridRow(s) 的 IsSelected 属性,但不起作用。虽然我可以看到所选行的 IsSelected 属性设置为 true,但在屏幕上我没有看到突出显示的记录。

这个可能含糊不清,但我多次设置了选定的索引,但这只会突出显示最后一个选定索引的记录。

每次排序后,最后选择的记录会高亮显示。有什么方法可以保留选定的行吗?

编辑:

我现在可以使用 Datagrid.SelectedItems.Add(dataGridRow) 或在数据网格行上设置 IsSelected 属性来设置数据网格的选定项。

问题是虽然选择的项目存在,但它们没有在屏幕上突出显示。如何使行突出显示?

例如:如果在排序前选择并突出显示了 3 条记录,排序后,所有记录都被选择(放置断点并在代码中检查)但只有一条记录突出显示。

最佳答案

可以通过将行的 IsSelected 属性设置为 true 来设置数据网格的选定项。

或者使用 SelectedItems.Add() 方法添加选中项。

我也在做同样的事情,但仍然看不到所选项目,因为代码中的另一个地方正在修改所选项目。

上述解决方案已经过测试并有效。

关于c# - 排序后保留数据网格中的选定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25602028/

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