【问题标题】:Visual Studio 2015 Combo BoxesVisual Studio 2015 组合框
【发布时间】:2016-09-05 15:29:43
【问题描述】:

我正在尝试在 Visual Studio 2015 中使用组合框(我认为这意味着它的 VB6 代码)

我正在尝试从 MySQL ADODB.recordset 构建值列表,我已经能够将它们插入组合框中。

但是,我不知道如何获取或设置组合框中的值。

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

【问题讨论】:

  • VB6 可以追溯到 Visual Studio 6(我认为是在 1998 年左右)。 VBA 基于 VB6。如果用 VS 2015 编写,您的代码是 VB.NET

标签: mysql vb.net visual-studio combobox


【解决方案1】:

如果我理解您想要做什么,听起来您正在寻找这个:

cmbGenre.SelectedIndex = cmbGenre.FindStringExact(rsGenres.Fields(FIELD_NAME).Value)

这将找到与字段名称匹配的组合框项目的索引,然后设置该项目的选择。

然后您可以使用

cmbGenre.SelectedItem

这将返回绑定到该项目的对象,包含 ID 和 FieldName。

此链接应该有助于为使用组合框提供更好的解决方案。它在 C# 中有类似的问题,但很容易转换:https://stackoverflow.com/a/15983066/6144259

【讨论】:

  • 我的荣幸!出于兴趣,您是使用我提供的代码还是使用链接中的某些内容?
  • 你的代码看起来就像我想象的那样,只是不知道“查找字符串存在”这个函数。但是我将来可能需要更深入地研究,因为可能会出现重复的字符串名称在组合中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-04
  • 1970-01-01
  • 1970-01-01
  • 2015-07-23
  • 2016-09-02
  • 1970-01-01
相关资源
最近更新 更多