我在wpf datagrig中排序数据时遇到问题。 我有ID列,带有字符串,例如:E1,E2,E10,E3,E9,E4,E5 我希望它是这样的分类器:E1,E2,E3,E4,E5,E9,E10 但是它会像这样对它进行排序:E1,E10,E2,E3,E4,E5,E9
这是我使用的代码:
<DataGridTemplateColumn SortMemberPath="ID" CanUserSort="true" SortDirection="Ascending" Header="IDs" Width="Auto" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBox Width="Auto" IsReadOnly="True" Text="{Binding Path=UserID}"></TextBox>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
如果有人可以帮我提供很棒的代码。谢谢。
答案 0 :(得分:2)
它正在进行排序,因为它将其排序为字符串,按字母顺序对值进行排序。
如果你绝对必须拥有&#34; E&#34; (或其他任何)与数字,尝试实现自己的自定义排序规则,如下所述:
https://stackoverflow.com/a/2130557/1758369
显然你的算法会有所不同,但这是一般的想法。