无法将'system.data.datarow'类型的对象强制转换为'system.data.datarowview'

时间:2015-05-07 13:14:29

标签: vb.net

我一直在接收

  

无法将类型为'system.data.datarow'的对象强制转换为类型   'system.data.datarowview'

对于第一行代码,它甚至没有到达第二行,有人可以建议我用Google搜索和搜索但是我找到的所有示例都没有使用我正在使用的语言,这对我没用。

    For Each lDataRow As DataRow In Me.SearchGrid.SelectedItems
        lDataRow.Delete()
        lDataTable = lDataRow.Table

2 个答案:

答案 0 :(得分:0)

看起来您的网格绑定到数据视图,而不是数据表。为了迭代行,你必须做

For Each lDataRow As DataRowView In Me.SearchGrid.SelectedItems

但请记住,这只是视图,而不是表格。因此,您可能最好从行中获取标识符,然后返回到表并删除其中的值,然后更新数据视图以反映更改。

答案 1 :(得分:0)

如果要获取所选行,则必须询问所选行而不是所选项:

For Each test As DataRow In DataGridView1.SelectedRows
    test.Delete()
Next

以上代码对我来说运行得很好。