我正在尝试创建一个函数,它将为控件创建一些属性(在本例中为组合框)。但是,接收控件不从函数中获取值属性。
这是创建属性的函数。
Public Function getComboboxProperties(ByVal dt As DataTable) As
ComboBox
Try
Dim ctrlCombobox As New ComboBox
ctrlCombobox.BindingContext = New BindingContext
ctrlCombobox.DataSource = dt
ctrlCombobox.ValueMember = "ID"
ctrlCombobox.DisplayMember = "DESCRIPTION"
getComboboxProperties = ctrlCombobox
Catch ex As Exception
Return Nothing
MessageBox.Show(ex.ToString, "", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try End Function
新值传递:
cmbCompanyStatus = clsCommon.getComboboxProperties(dtStatus)
当我打开表单时,combobox cmbCompanyStatus不会获取数据源并且不显示任何内容。
非常感谢任何帮助。谢谢!。
答案 0 :(得分:0)
我建议可能的原因是在你的作业中被抛出异常。陈述
Return Nothing
MessageBox.Show(ex.ToString, "", MessageBoxButtons.OK, MessageBoxIcon.Error)
是错误的方式;该函数将返回而不显示消息框。
此外,
getComboboxProperties = ctrlCombobox
是一种回归价值的老式方式;在VB.Net中,人们更喜欢
Return ctrlCombobox
答案 1 :(得分:0)
看着这个,你似乎错过了以下内容:
' Snip
ctrlCombobox.DataSource = dt
ctrlCombobox.ValueMember = "ID"
ctrlCombobox.DisplayMember = "DESCRIPTION"
ctrlCombobox.DataBind() ' <-------------------- This line here
getComboboxProperties = ctrlCombobox