遍历WPF数据网格的行

3
如何在WPF中遍历数据网格视图的每一行
foreach (System.Data.DataRowView dr in grid.Items)
{
    string a = dr[0].ToString();
    MessageBox.show(a);
}

在这里,我尝试读取第一列的所有值!

它出现错误:

'Test.exe'中发生了未经处理的类型为'System.InvalidCastException'的异常
附加信息:无法将类型为'<>f__AnonymousType0`1[System.String]'的对象强制转换为类型'System.Data.DataRowView'。

我该如何解决这个问题。请有人帮帮我。

谢谢!


dr[0] 的数据类型是什么?Nullable 吗?在调用 ToString() 之前,您可能应该检查它是否为 null - Prisoner
1个回答

5

Grid.Items 是用于生成 ItemsControl 内容的集合,将其转换为 DataRowView 是无效的。这在某些情况下会引发异常。

你需要的是...

foreach (DataRowView dr in grid.ItemsSource)
{
     MessageBox.Show(dr[0]);
}

1
谢谢,它起作用了。你的代码有一个小错误:MessageBox.Show(dr[0].ToString()); - Ahsan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接