【发布时间】:2013-08-16 17:43:06
【问题描述】:
我正在尝试将我的 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 = 对象引用未设置为对象的实例
ex.InnerException = 空
ex.InnerException.Message = 使程序崩溃,进入代码屏幕, 突出显示 MsgBox(ex.InnerException) 行,并给出错误:Object 引用未设置为对象的实例
附加信息: 在 zdgv 上使用 QuickWatch 可以为我提供所有信息。在它(zdgv)之后在行上使用它说:'Rows'未声明。由于其保护级别,它可能无法访问。
附:是的,我用谷歌搜索过,但没有一个类似的问题。是的,我在这里搜索过,但没有信息。我也尝试过 r/visualbasic - 没有... 我什至尝试用这个错误搜索与 c# 相关的东西 - 什么都没有。 :/
提前致谢。
EDIT1:我已经尝试在新项目中创建非数据绑定数据网格视图,并将其中的一个值添加到集合中 - 同样的错误。我想我应该去google一下“将对象的引用设置为对象的实例”。
EDIT2:这个失败 - 新手错误。
EDIT3:在
上使用快速观看zdgv.Rows(zdgv.SelectedRows(a).Index).Cells(0).Value.ToString
它显示正确的值(正确的,没有抛出错误)=“1”。
【问题讨论】:
-
您引用的对象或属性之一是
null。你知道错误发生在哪一行吗? -
@valverij 你知道错误发生在哪一行吗?可能是
Try和Catch之间的单行;-) -
什么是 MyCollection? - 你忘了在上面做一个新的吗?
-
在代码顶部 - 就在
public class classname下方和第一个子上方我有这个:Public eilutesnumeriukas As Collection
标签: vb.net datagridview