繁体   English   中英

如何从Visual Basic 2013中的组合框的选定项中获取关联列的值?

[英]How to get associated column's value from selected item of combo-box in visual basic 2013?

我正在使用Visual Basic 2013和sqlite。 我的表结构就像-

  • topic_id
  • TOPIC_NAME
  • subject_id
  • SUBJECT_NAME
  • chapter_no

我将此表导入为-

 Dim con As SQLiteConnection
 Dim sql As String
 Dim da As SQLiteDataAdapter
 Dim ds As New DataSet
 Dim cmd As New SQLiteCommand

 con = New SQLiteConnection("Data Source = test.db;Version=3;")
 con.Open()
 sql = "SELECT * FROM med_topics"
 da = New SQLiteDataAdapter(sql, con)
 da.Fill(ds, "TopicsList")
 con.close()
 cboTopicsList.DisplayMember = "Topic_Name"
 cboTopicsList.ValueMember = "Topic_Id"
 cboTopicsList.DataSource = ds.Tables("TopicsList")

我想使用其他列值的表(但不希望它们显示在组合框中)。 “主题ID,主题名称,章节编号”。 我知道这些值是在TopicsList中导入的,但是我不知道如何获取所选项目的相应值。 我被困在这里。

ComboBox绑定到DataTable时,使用DataRowView对象填充其对象集合( Items属性)。 这是因为DataTable类实现了ComboBox查找的IListSource 它返回一个DataView ,表的DefaultView

Private Sub cboTopicsList_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboTopicsList.SelectedIndexChanged
    Dim rowView As DataRowView = TryCast(cboTopicsList.SelectedItem, DataRowView)
    If (Not rowView Is Nothing) Then
        Dim row As DataRow = rowView.Row
        Dim subjectName As String = DirectCast(row.Item("subject_name"), String)
        '...
    End If
End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM