Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2014
    residenza
    Campania
    Messaggi
    14

    [VB.NET] Cambiare in stato Checked una serie di controlli CheckBox

    Un saluto a tutti premetto che non sono molto ferrato sul vb.
    Scrivo questa discussione perchè non riesco a risolvere questo problema:
    Vorrei settare a checked delle checkbox confrontandole con dei dati estratti da un campo su di un database e se quest'ultimi corrispondono al text delle checkbox queste verranno selezionate automaticamente.
    Il codice che ho scritto purtroppo mi spunta solo una checkbox che corrisponde al primo elemento dell'array e il ciclo non prosegue, vi chiedo aiuto!!
    questo è il codice:

    codice:
     Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Dim test As String
    
    
            Dim connStr2 As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\dbtest.accdb"
            Conn2 = New OleDbConnection(connStr2)
    
    
    
    
    
    
            Dim command2 As OleDbCommand
            Conn2.Open()
    
    
            SQLString2 = "Select ckb_text from test_table"
            command2 = New OleDbCommand(SQLString2, Conn2)
            Dim rd As OleDbDataReader = command2.ExecuteReader
    
    
    
    
            rd.Read()
            test = rd.Item(0).ToString
            Conn2.Close()
    
    
            Dim ar As String() = test.Split(New Char() {","c})
            Dim sel_ckb As String
    
    
    
    
    
    
            For Each cb As CheckBox In SplitContainer1.Panel1.Controls
                For Each sel_ckb In ar
                    If sel_ckb.ToUpper() = cb.Text Then
                        cb.Checked = True
    
    
                    End If
    
    
                Next
            Next
    
    
        End Sub

  2. #2
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,994
    tutto dipende dal testo dei vari cb, impossibile rispondere senza disporre del progetto

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2014
    residenza
    Campania
    Messaggi
    14
    Quote Originariamente inviata da patel Visualizza il messaggio
    tutto dipende dal testo dei vari cb, impossibile rispondere senza disporre del progetto
    In che senso?

    Comunque se sostituisco l'If con un msgbox(sel_ckb.ToUpper()) il ciclo funziona come dovrebbe.

  4. #4
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Quote Originariamente inviata da migo80 Visualizza il messaggio
    In che senso?
    Nel senso che non siamo indovini, quindi senza il progetto ed i dati non è possibile fare il DEBUG.
    Tu hai provato a farlo? Passo-passo con [F11]

  5. #5
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,994
    Quote Originariamente inviata da migo80 Visualizza il messaggio
    Comunque se sostituisco l'If con un msgbox(sel_ckb.ToUpper()) il ciclo funziona come dovrebbe.
    ho qualche dubbio, ma contento tu ....

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2014
    residenza
    Campania
    Messaggi
    14
    Risolto
    codice:
    Dim connStr2 As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\
    databaseTest.accdb"
            Conn2 = New OleDbConnection(connStr2)
    
            Dim command2 As OleDbCommand
            Conn2.Open()
            SQLString2 = "Select ckb_select from test_table"
            command2 = New OleDbCommand(SQLString2, Conn2)
    
            Dim rd As OleDbDataReader = command2.ExecuteReader
    
            rd.Read()
            test = rd.Item(0).ToString
            Conn2.Close()
    
            ar = test.ToString.Split(",")
    
            For Each sel_ckb In ar
                For i As Integer = 0 To CheckList1.Items.Count - 1
    
                    If Me.CheckList1.Items(i).ToString.Contains(sel_ckb.ToUpper()) Then
                        MsgBox(Me.CheckList1.Items(i).ToString)
    
                        Me.CheckList1.SetItemChecked(i, True)
                    End If
    
    
                Next
    
            Next

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.