gpt4 book ai didi

wpf - DataGrid 排序不起作用

转载 作者:行者123 更新时间:2023-12-04 13:49:20 28 4
gpt4 key购买 nike

我有一个 TabControl,它有一个 TabItem,里面有一个 DataGrid

<TabControl Background="{DynamicResource StandardBackgroundColor}" 
Grid.Row="2" Grid.Column="1"
BorderBrush="{DynamicResource StandardBorderColor}"
DataContext="{Binding ChartViewModel}">


<TabItem Header="{lex:Loc Data}">
<DataGrid Name="TagGrid" ItemsSource="{Binding UnionAllSerie}"
ColumnWidth="*" Background="#CCCCCC">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Name}" />
<DataGridTextColumn Header="{lex:Loc time}" SortDirection="Descending"
Binding="{Binding X, Converter={StaticResource OleDateToDateTimeConverter}, StringFormat=\{0:dd/MM/yy HH:mm\}}" />
<DataGridTextColumn Header="{lex:Loc Measure}"
Binding="{Binding Y}" />
</DataGrid.Columns>
</DataGrid>
</TabItem>

我的 UnionAllSerie 声明如下:

public ObservableCollection<Data> UnionAllSerie { get; set; } = new ObservableCollection<Data>();

根据在窗口上执行的操作填充此数据集合。我想要的是让 Grid 按代表日期的第二列自动排序。

有人知道我做错了什么或遗漏了什么吗?谢谢!

最佳答案

在 Datagrid 列上设置 SortDirection 实际上不会对该列进行排序。 (有关详细信息,请参阅 here)。

我建议使用 CollectionViewSource,它具有适合您的目的的内置功能。结果应如下所示:

<Window.Resources>
<CollectionViewSource x:Key="UnionAllSerieViewSource" Source="{Binding UnionAllSerie}">
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="X" Direction="Descending"/>
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
</Window.Resources>
...
<DataGrid Name="TagGrid" ItemsSource=""{Binding Source={StaticResource UnionAllSerieViewSource}}""
ColumnWidth="*" Background="#CCCCCC">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Name}" />
<DataGridTextColumn Header="{lex:Loc time}" SortDirection="Descending"
Binding="{Binding X, Converter={StaticResource OleDateToDateTimeConverter}, StringFormat=\{0:dd/MM/yy HH:mm\}}" />
<DataGridTextColumn Header="{lex:Loc Measure}"
Binding="{Binding Y}" />
</DataGrid.Columns>
</DataGrid>

有关如何对 CollectionViewSources 进行排序的更多信息,请参阅 this msdn article .

关于wpf - DataGrid 排序不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39591883/

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