我正在尝试在2015年的Visual Studio中使用组合框(我认为这意味着它的VB6代码)
我正在尝试从MySQL ADODB.recordset构建一个值列表,我已经能够将它们插入到组合框中。
但是,我不知道如何在Combobox中获取或设置值。
so cmbGenre.setValue(new Object / id assoiated with a object)
or MsgBox("Current Select value in Combo box is = " & cmbGenre.selectObject)
objGenre只是一个必须改变ID&名称(这是MySQL表中的所有列
Public Sub refreshCmbGenre(ByVal id As Long)
Call rsSetup(TABLE_GENRES)
cmbGenre.Items.Clear()
rsGenres.Sort = FIELD_NAME
rsGenres.MoveFirst()
Do Until rsGenres.EOF
cmbGenre.Items.Add(New objGenre(rsGenres.Fields(FIELD_ID).Value, rsGenres.Fields(FIELD_NAME).Value))
rsGenres.MoveNext()
Loop
'=====this is the problem code=========================
rsGenres.MoveFirst()
rsGenres.Find("[id]=" & id)
cmbGenre.SelectedText = rsGenres.Fields(FIELD_NAME).Value
'=============================
End Sub
答案 0 :(得分:1)
如果我理解你要做什么,听起来你正在寻找这个:
cmbGenre.SelectedIndex = cmbGenre.FindStringExact(rsGenres.Fields(FIELD_NAME).Value)
这将找到与字段名称匹配的组合框项目的索引,然后设置该项目的选择。
然后,您可以使用
获取值cmbGenre.SelectedItem
这将返回绑定到该项的对象,包含ID和FieldName。
这个链接应该有助于更好地解决使用组合框的问题。它在C#中有类似的问题,但很容易转换:https://stackoverflow.com/a/15983066/6144259