vb.net - [VB.NET]对象引用未设置为对象的实例

标签 vb.net datagridview

我正在尝试将我的 datagridview 上选定行的列值添加到 Collection(但如果我使用 List 或 Array 执行此操作,则会出现相同的错误)

代码:

Dim zdgv = MyDataGridView

    For a = 0 To zdgv.SelectedRows.Count - 1

        MsgBox(zdgv.Rows(zdgv.SelectedRows(a).Index).Cells(0).Value.ToString)
        Try
            MyCollection.Add(zdgv.Rows(zdgv.SelectedRows(a).Index).Cells(0).Value.ToString)
        Catch ex As Exception
            MsgBox(ex.Message)
            MsgBox(ex.InnerException)
        End Try

    Next

ex.Message = Object reference not set to an instance of an object

ex.InnerException = empty

ex.InnerException.Message = Makes program crash, goes to code screen, highlights MsgBox(ex.InnerException) line, and gives error: Object reference not set to an instance of an object



附加信息:
在 zdgv 上使用 QuickWatch 可以为我提供所有信息。在它(zdgv)之后在行上使用它说:'Rows'未声明。由于其保护级别,它可能无法访问。

附言是的,我用谷歌搜索过,但没有一个类似的问题。是的,我在这里搜索过,但没有信息。我也尝试过 r/visualbasic - 没有...
我什至尝试用这个错误搜索与 c# 相关的东西 - 什么都没有。 :/

提前致谢。

EDIT1:我尝试在新项目中制作非数据绑定(bind)数据 GridView ,并将其中的一个值添加到集合中 - 同样的错误。我想我应该去谷歌搜索“将对象的引用设置为对象的实例”。

EDIT2:这是失败的 - 新手错误。

EDIT3:使用快速 watch
zdgv.Rows(zdgv.SelectedRows(a).Index).Cells(0).Value.ToString 

它显示正确的值(正确的值,没有抛出错误)=“1”。

最佳答案

这段代码对我来说就像一个魅力。

您是否忘记了 MyCollection 上的新内容?

Dim zdgv = MyDataGridView
Dim MyCollection As New Collection
For a = 0 To zdgv.SelectedRows.Count - 1

    MsgBox(zdgv.Rows(zdgv.SelectedRows(a).Index).Cells(0).Value.ToString)
    Try
        MyCollection.Add(zdgv.Rows(zdgv.SelectedRows(a).Index).Cells(0).Value.ToString)
    Catch ex As Exception
        MsgBox(ex.Message)
        If ex.InnerException IsNot Nothing Then
            MsgBox(ex.InnerException)
        End If
    End Try
Next

关于vb.net - [VB.NET]对象引用未设置为对象的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18279187/

相关文章:

c# - DataGridView合并

vb.net - 在 UWP 应用程序上使用 VB.net 获取 IPGlobalProperties

.net - 如何使用自定义文本框的事件处理程序?

c# - 单击 asp.net 按钮时如何关闭 Html 窗口?

c# - 在 DataGridView 列中使用自定义 CheckBoxComboBox

c# - 在 GridView 模板字段中设置文本框值

c++ - 将 DataGridView (DataTable) 与数据库同步

C# 从绑定(bind)源限定的类型化数据集中删除行的最佳方法

vb.net - 在多页 Gridview 中获取行数?

.net - ASP.NET Gridview - 如何垂直更改颜色属性?