我正在尝试创建一个函数,该函数将为控件(在本例中为组合框)创建一些属性。但是,接收控件不会从函数中获取值属性。
这是创建属性的函数。
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)
打开表单时,组合框cmbCompanyStatus不会拾取数据源,也不会显示任何内容。
如有任何帮助,我们将不胜感激。非常感谢。
看到这里,您似乎缺少以下内容:
' Snip
ctrlCombobox.DataSource = dt
ctrlCombobox.ValueMember = "ID"
ctrlCombobox.DisplayMember = "DESCRIPTION"
ctrlCombobox.DataBind() ' <-------------------- This line here
getComboboxProperties = ctrlCombobox
我认为可能的原因是在作业中的某个地方抛出了异常。报表
Return Nothing
MessageBox.Show(ex.ToString, "", MessageBoxButtons.OK, MessageBoxIcon.Error)
走错了路;该功能将返回而不显示消息框。
此外,
getComboboxProperties = ctrlCombobox
是一种相当老式的返回价值的方式;在VB.Net中,人们更喜欢
Return ctrlCombobox