WPF Datagrid 对绑定到包含数字的 XML 的列进行排序
我正在将 WPF Datagrid 绑定到 XML 源。我有一个代表对象 ID 的 DataGridTextColumn
列。当我对该列进行排序时,它会给出例如:1, 12, 13, 2, 3, 31, 4。
我显然想将其排序为 1, 2, 3, 4, 12, 13, 31
。有没有办法指定我要根据字符串的整数表示形式对列进行排序?
谢谢。
I am binding my WPF Datagrid to an XML source. I have a DataGridTextColumn
column representing the Id of my object. When I sort on that column, it gives me for example: 1, 12, 13, 2, 3, 31, 4.
I obviously would like to sort it as 1, 2, 3, 4, 12, 13, 31.
Is there a way to specify that I want to sort the column based on the integer representation of the string?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要自己进行排序。您可以使用 linq 轻松对 xml 进行排序。下面的示例按您在单击标题时所期望的方式对数字进行排序。我只实现了升序排序。
XAML:
隐藏代码:
You will need to do the sorting yourself. You can use linq to easily sort xml. Below sample sorts numbers as you expect when clicking on headers. I only implemented ascending sort.
XAML:
Code behind:
很好的答案和链接。
但是,如果您尝试对绑定到
DataTable
的 WPFDataGrid
进行排序,则只需确保DataTable
已正确定义列类型。例如:
Great answer and link.
However, if you are trying to sort a WPF
DataGrid
that is bound to aDataTable
, you just need to make sure theDataTable
has appropriately defined column types.For example: