尝试使用列表填充comboBox时,获取“对象引用未设置为对象的实例”错误

时间:2015-06-11 13:18:06

标签: vb.net winforms combobox

我已经阅读了有关此错误的所有其他问题(并且有很多)并且找不到任何相关内容,所以我在这里。我正在尝试使用我创建的列表的内容填充dropdowncmbEditProjType),然后根据选择的项目编号进行填充,显示{{1}的文本将是该项目的类型。这使他们能够根据需要进行更改。

我上面提到的错误指向我的cmbEditProjType。我尝试在向其添加项目之前初始化它,得到了错误;试图硬编码其中一个列表项而不是从数据库中拉出来,得到了错误。如果您需要任何其他信息,请好好问一下......

comboBox

结束班

2 个答案:

答案 0 :(得分:1)

事实证明,问题在于我无意中将Generate Member属性设置为false。在注意到这一点并将其更改回true后,我能够简单地填充dropdownlist的集合并使用.selectedtext来显示从数据库中读取的内容。这可以解释为什么发布的其他问题都没有帮助我。现在感觉很傻......道歉。

答案 1 :(得分:0)

我测试了你的代码:

Dim values As List(Of String) = New List(Of String)
values.Add("Home")
values.Add("Office")
values.Add("Garage")
values.Add("Pool")
values.Add("Lawn")
values.Add("Maintain")
values.Add("Education")

'Filter distinct elements, and convert back into list
Dim result As List(Of String) = values.Distinct().ToList
'Display result
For Each element As String In result
    cmbEditProjType.Items.Add(element)
Next

没有任何NullReferenceException或其他例外。

可能是您的例外来自Dim dr As SqlDataReader = fillProjNo.ExecuteReader()并且它没有从SQL获取任何数据!!!