【问题标题】:vb.net CheckedListbox get value from databasevb.net CheckedListbox 从数据库中获取值
【发布时间】:2021-03-27 14:21:49
【问题描述】:

我正在从 MsAccess 数据库表中填充 CheckedListBox。该表包含两个字段,Terms 和 RegX。我想显示条款,但是当我提交时,我想从 RegX 字段中获取值。

Public Function GetMyTable() As DataTable
        ' Create new DataTable instance.
        Dim table As New DataTable

        Dim strSql As String = "SELECT * FROM Keywords ORDER BY Terms ASC"

        Dim cmd As New OleDbCommand(strSql, con)
        Using dr As OleDbDataReader = cmd.ExecuteReader
            table.Load(dr)
        End Using

        Return table
    End Function

Private Sub SearchInDoc_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        Dim dt1 As DataTable = GetMyTable()

        If dt1.Rows.Count > 0 Then
            For i As Integer = 0 To dt1.Rows.Count - 1
                CheckedListBox1.Items.Add(CStr(dt1.Rows(i).Item("Terms")), False)
            Next
        End If
        CheckedListBox1.CheckOnClick = True
    End Sub

当我点击提交按钮时,我不知道如何返回 RegX 的值

【问题讨论】:

    标签: vb.net ms-access datatable checkedlistbox


    【解决方案1】:

    如果您想将有关“Terms”和“RegX”的信息保存在一起,那么您应该使用 CheckedListBox 的 DataSource 属性将其设置为检索到的数据表,然后指定应在列表中显示的列。

    Private Sub SearchInDoc_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    
        Dim dt1 As DataTable = GetMyTable()
        CheckedListBox1.DataSource = dt1
        CheckedListBox1.DisplayMember = "Terms"
        CheckedListBox1.CheckOnClick = True
    End Sub
    

    现在您可以在提交按钮中添加这样的代码来检索 RegX 字段

    Sub Submit_Click(sender As Object, e As EventArgs) Handles Submit.Click
        For Each row As DataRowView In CheckedListBox1.CheckedItems
            Console.WriteLine(row("RegX"))
        Next
    End Sub
    

    CheckedListBox 中的每个元素都是从表中获取的 DataRowView,您可以提取有关 RegX 字段的信息,只需使用列名索引该 DataRowView。
    在上面的示例中,只有选中的项目受循环枚举的影响。如果要遍历 CheckedListBox 中的所有项目,请使用 CheckedListBox1.Items

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-26
      • 1970-01-01
      • 2021-11-14
      • 2016-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多