2

以前にこの質問をしましたが、詳細を提供することを提案しました。問題は次のとおりです。

  1. という CheckedListBox がありCheckedList_Facilityます。この中のすべての項目はCheckedList_Facility、SQL Server データソースから取得しています。以下のコードを使用して、すべてのアイテムが適切にロードされます

    Dim queryString As String = "SELECT Facility FROM Database.dbo.Facility "
    Dim connection As New SqlConnection(connectionString)
    Dim command As New SqlCommand(queryString, connection)
    connection.Open()
    Dim dataReader As SqlDataReader = command.ExecuteReader()
    Dim source As New BindingSource
    source.DataSource = dataReader
    CheckedList_Facility.DataSource = source
    CheckedList_Facility.ValueMember = "Facility"
    connection.Close()
    
  2. チェックされている項目のリストを取得したいと思います。例えば、

    [×] AAA

    [X]BBB

    [ ] CCC

    [ ] DDD

    [X] EEE

その場合、リストは「AAA」、「BBB」、「EEE」である必要があります

  1. アイテムが正しく取得されたかどうかをテストするために、ボタン呼び出しを使用し、bt_GetItemこのボタンが押されると、チェックされたアイテムが msgbox に表示されます。このコードで:

    Dim itemChecked As Object
    For Each itemChecked In CheckedList_Facility.CheckedItems
        MsgBox(itemChecked.ToString)
    Next
    
  2. ただし、このエラーメッセージしか表示されません

    System.Data.Common.DataRecordInternal

技術的には、これはエラーではないかもしれませんが、「AAA」を受信する代わりに、これが表示されます

System.Data.Common.DataRecordInternal
4

4 に答える 4

4

「AAA」(文字列のタイプitemChecked)を表示するには、オブジェクトのプロパティにアクセスする必要があります。「Facility」を選択しているので、それを使用します。受信したメッセージ ( System.Data.Common.DataRecordInternal ) はオブジェクトitemCheckedタイプでした。

MsgBox(itemChecked.Items("Facility").ToString)

「AAA」を出力する必要があります

于 2013-07-10T17:21:06.973 に答える
0
For i As Integer = 0 To lbSit.Items.Count - 1
    If CType(lbSit.Items(i), DataRowView)(lbSit.ValueMember).ToString = "32" Then
        lbSit.SetItemChecked(i, True)
    End If
Next
于 2015-10-09T22:01:23.723 に答える
0
Private Sub WhatIsChecked_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles WhatIsChecked.Click
    ' Display in a message box all the items that are checked.
    Dim indexChecked As Integer
    Dim itemChecked As Object
    Const quote As String = """"

    ' First show the index and check state of all selected items.
    For Each indexChecked In CheckedListBox1.CheckedIndices
        ' The indexChecked variable contains the index of the item.
        MessageBox.Show("Index#: " + indexChecked.ToString() + ", is checked. Checked state is:" + _
                        CheckedListBox1.GetItemCheckState(indexChecked).ToString() + ".")
    Next

    ' Next show the object title and check state for each item selected.
    For Each itemChecked In CheckedListBox1.CheckedItems

        ' Use the IndexOf method to get the index of an item.
        MessageBox.Show("Item with title: " + quote + itemChecked.ToString() + quote + _
                        ", is checked. Checked state is: " + _
                        CheckedListBox1.GetItemCheckState(CheckedListBox1.Items.IndexOf(itemChecked)).ToString() + ".")
    Next
于 2016-06-20T07:50:24.723 に答える