有没有一种基于多个属性以编程方式应用WPF DataGrid
排序的方法?
我有一个多列DataGrid
,它包含一个列,当对其他列进行排序时,我总是希望它在值分组中按字母顺序排列。
我见过的所有自定义排序实现都使用IComparer
,但它只提供与之关联的单个列中的值。
例如,如果我们有以下两列未排序的数据:
A
1
D
2
C
2
B
1
如果我们将排序应用于第二列,则第一列在每个分组中变得任意排序:
A
1
B
1
D
2
C
2
我正在寻找的是在第二列中的任何一组相同的值中,第一列是按字母顺序排列的:
A
1
B
1
C
2
D
2
有没有IComparer
的替代方案可以暴露完整的模型?
发布于 2018-10-09 07:32:05
你调查过SortMemberPath吗?
<DataGrid.Columns>
<DataGridTextColumn Header="Some Caption" Width="200"
CanUserSort="True"
Binding="{Binding SomeDataField}"
SortMemberPath="OtherNonShowingField"/>
</DataGrid.Columns>
因此,如果您通过列表或DataTable的DataColumn引用列出数据,则始终可以添加另一个字段或列,该字段或列在该字段中包含组合的A+B部分。因此,即使您不显示该列,它也可以用作排序的基础。
https://stackoverflow.com/questions/52699270
复制相似问题