DatagridComboBoxColumn排序

时间:2018-09-23 17:57:28

标签: wpf entity-framework sorting xaml datagridcomboboxcolumn

XAML:

<DataGridComboBoxColumn Header="Department" 
    ItemsSource="{Binding Source={StaticResource departmentViewSource}}" 
    DisplayMemberPath="Title" SelectedValuePath="ID" SortDirection="Ascending"
    SelectedValueBinding="{Binding DepartmentID, Mode=TwoWay, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}"
    SortMemberPath="lkpDepartments.Sequence" />

它似乎显示正确的文本,并正确链接到GUID。但是我尝试过的每个变体都不会按“序列”字段的顺序显示下拉列表(一个int,没有null,唯一)。这里的类似帖子不是重复的,因为我正在使用他们的解决方案,但仍然无法使用。

谢谢。

1 个答案:

答案 0 :(得分:0)

SortMemberPath适用于DataGrid。当您单击列标题时,它将决定要排序的属性。

要对ComboBox进行排序,您应该对departmentViewSource进行排序。例如,您可以通过在XAML标记https://docs.microsoft.com/en-us/dotnet/framework/wpf/data/how-to-sort-and-group-data-using-a-view-in-xaml中向其添加一个SortDescription来实现此目的。

如果在其他地方使用相同的CollectionViewSource并希望使用不同的排序顺序,则应定义另一个排序顺序并将ComboBox绑定到此。