DatagridComboBox列排序
DatagridComboBoxColumn Sort
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" />
它似乎显示了正确的文本,link GUID 正确。但是我尝试过的每个变体都不会按序列字段(整数,无空值,唯一)的顺序显示下拉列表。类似的帖子不重复,因为我用的是他们的解决方案,还是不行。
谢谢。
SortMemberPath
适用于DataGrid
。当您单击 header.
列时,它决定 属性 作为排序依据
要对 ComboBox
进行排序,您应该对 departmentViewSource
进行排序。例如,您可以通过在 XAML 标记中添加一个 SortDescription
来做到这一点:https://docs.microsoft.com/en-us/dotnet/framework/wpf/data/how-to-sort-and-group-data-using-a-view-in-xaml.
如果您在其他地方使用相同的 CollectionViewSource
并且想要不同的排序顺序,您应该定义另一个并将 ComboBox
绑定到这个。
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" />
它似乎显示了正确的文本,link GUID 正确。但是我尝试过的每个变体都不会按序列字段(整数,无空值,唯一)的顺序显示下拉列表。类似的帖子不重复,因为我用的是他们的解决方案,还是不行。
谢谢。
SortMemberPath
适用于DataGrid
。当您单击 header.
要对 ComboBox
进行排序,您应该对 departmentViewSource
进行排序。例如,您可以通过在 XAML 标记中添加一个 SortDescription
来做到这一点:https://docs.microsoft.com/en-us/dotnet/framework/wpf/data/how-to-sort-and-group-data-using-a-view-in-xaml.
如果您在其他地方使用相同的 CollectionViewSource
并且想要不同的排序顺序,您应该定义另一个并将 ComboBox
绑定到这个。