维护 Silverlight 数据网格中的排序顺序
本文关键字:排序 顺序 网格 Silverlight 数据 数据网 维护 | 更新日期: 2023-09-27 18:36:53
我有一个简单的 Silverlight 5 数据网格绑定到对象的 ObservableCollection:
<sdk:DataGrid x:Name="grid_test" AutoGenerateColumns="False" Grid.Row="1" Height="268" HorizontalAlignment="Left" Margin="16,186,0,0" VerticalAlignment="Top" Width="744">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn Header="Agent Name" CanUserReorder="True" CanUserResize="True" CanUserSort="True" Width="Auto" Binding="{Binding agentName}" />
<sdk:DataGridTextColumn Header="Campaign" CanUserReorder="True" CanUserResize="True" CanUserSort="True" Width="Auto" Binding="{Binding currentCampaign}" />
<sdk:DataGridTextColumn Header="Currently" CanUserReorder="True" CanUserResize="True" CanUserSort="True" Width="Auto" Binding="{Binding currentState}" />
<sdk:DataGridTextColumn Header="Time" CanUserReorder="True" CanUserResize="True" CanUserSort="True" Width="Auto" Binding="{Binding displayTime}" />
</sdk:DataGrid.Columns>
</sdk:DataGrid>
并在代码中:
grid_test.ItemsSource = allKnownAgents;
..它工作正常,数据显示和自动更新,用户可以通过单击列标题对数据进行排序。但是,当数据更改时,网格不会自动诉诸 - 这意味着排序顺序不会严格维护。用户需要再次单击列标题以手动对数据重新排序。
有没有简单的方法可以要求/告诉 Silverlight 在数据变化时保持数据的顺序?
一个选项是使用 PagedCollectionView 代替 ObservableCollection。您可以更好地控制失效和重新应用排序和筛选。
尝试设置 ,Mode=TwoWay
例如:- Binding="{Binding agentName, Mode=TwoWay}"