gpt4 book ai didi

wpf - 使用 WPF DataGrid 对 DataTable 进行排序?

转载 作者:行者123 更新时间:2023-12-04 15:57:04 38 4
gpt4 key购买 nike

好吧,这让我发疯了。我花了几个小时试图找出一个简单的解决方案,但我没有运气。

我在 XAML 页面上有一个 [WPF Toolkit] DataGrid,它有一个 DataTable 作为它的 ItemsSource。我的页面上还有一个按钮,用于获取 DataGrid 的 SelectedIndex(选定行)并将其用作函数中的变量,该函数读取该索引处的绑定(bind) DataTable 行并返回一个值。一切正常,直到我单击列标题对其进行排序。它对 DataGrid 进行排序,但不对 DataTable 进行排序,因此我的 SelectedIndex 已更改,但 DataTable 的索引未更改,因此返回错误的值。

我一直在寻找列标题点击事件 - 没有运气;我试图获取当前对网格进行排序的列的标题 - nada;我尝试在 DataGridTextColumn 模板上使用“Click”EventSetter - 不支持。

我完全不知所措。如果 WPF 应该是对 Windows 窗体的改进,为什么要删除一些简单的功能? (你必须绑定(bind)数据才能添加行也很愚蠢,只是说。)我可以使用 Windows 窗体 DataGrid 并且不会有任何问题,但是我无法设置它的样式。

也许我没有正确执行检查或其他什么...?下面是我的检索/输出代码。有人有想法么???非常感谢您的帮助!

DataRow selectedRow = my_data.Tables[0].Rows[my_grid.SelectedIndex];
MessageBox.Show(selectedRow["ItemName"]);

最佳答案

排序是应用于数据表的DefaultView。所以它不会直接应用于数据表。访问排序后的表使用

DataTable.DefaultView.ToTable()

关于wpf - 使用 WPF DataGrid 对 DataTable 进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5783634/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com