Check All, CheckedListBox | VB.net

Résolu/Fermé
Xineroks Messages postés 158 Date d'inscription lundi 9 janvier 2012 Statut Membre Dernière intervention 25 janvier 2014 - 1 févr. 2012 à 10:44
Xineroks Messages postés 158 Date d'inscription lundi 9 janvier 2012 Statut Membre Dernière intervention 25 janvier 2014 - 1 févr. 2012 à 11:29
Bonjour,

J'aimerais pouvoir checker tous mes éléments dans ma CheckedListBox ( CLB en abrégé )
Sachant que mes Items proviennent d'une base de données.
J'ai déjà essayer plusieurs technique. Mais ce qui conviendrait le mieux, je pense, c'est
l'utilisation d'une boucle for pour faire le changement d'index ou d'item.

Ex :

For i = 0 to NBdates.Executescalar
CLB.selectedindex = i
...
Next

Le soucis c'est que ça ne marche pas.

PS : J'ai tenté les techniques comme si les données provenaient d'une collection "faite à la main" mais du coup ça enlève les Items. Donc à éviter.


Merci d'avance.

Xineroks


A voir également:

2 réponses

Xineroks Messages postés 158 Date d'inscription lundi 9 janvier 2012 Statut Membre Dernière intervention 25 janvier 2014 3
1 févr. 2012 à 10:54
J'obtiens toujours une erreur du style :

InvalidArgument=La valeur '0' n'est pas valide pour 'index'. Nom du paramètre : index

On me demande un entier, je lui donne un entier, mais ça râle quand même !

Voici mon code, sait-on jamais :

 For i = 1 To Nbdates.ExecuteScalar - 1
            myreader.Read()
            CLB_DatesReserv.SelectedIndex = 0
            If CLB_DatesReserv.GetItemChecked(CLB_DatesReserv.Items.IndexOf(CLB_DatesReserv.SelectedItem)) = False Then
                ajoutDate.CommandText() = "INSERT INTO reservation VALUES(" & maxReserv.ExecuteScalar + 1 & ",'RR','N'," & moncode(0) & ",'" & myreader(0).ToString & "','CPREPRR','O','N')"
                Try
                    ajoutDate.ExecuteNonQuery()
                Catch
                    MsgBox("Reservation non autorisée car aucun parent n'est associé à cet enfant", MsgBoxStyle.OkOnly, "Avertissment")
                    TB_CharResEnf.Text = ""
                    CLB_DatesReserv.ClearSelected()

                End Try
            End If
        Next



:/
0
Xineroks Messages postés 158 Date d'inscription lundi 9 janvier 2012 Statut Membre Dernière intervention 25 janvier 2014 3
1 févr. 2012 à 11:10
Up S'il vos plait
0
Xineroks Messages postés 158 Date d'inscription lundi 9 janvier 2012 Statut Membre Dernière intervention 25 janvier 2014 3
1 févr. 2012 à 11:29
Je suis passé par une autre manière pour résoudre mon soucis.
Le sujet n'est donc pas résolue en lui même mais mon problème si.

Voici le code utilisé :

        If NoAction Then Exit Sub
        Const monzero As String = "0"
        CLB_DatePres.Items.Clear()
        Dim moncode() As String
        moncode = Split(LB_CharResEnf.SelectedItem, " ")
        Dim madate() As String, moismodif As String
        madate = Split(CB_DateReserv.SelectedItem, "-")
        If madate(1) < 10 Then
            moismodif = monzero + madate(1)
        Else
            moismodif = madate(1)
        End If
        Dim sqlCnx As New System.Data.Odbc.OdbcConnection(My.Settings.CS_CantineBDD)
        Dim maxReserv As New System.Data.Odbc.OdbcCommand("SELECT MAX(codereservation) FROM reservation", sqlCnx)
        Dim ajoutDate As New System.Data.Odbc.OdbcCommand("", sqlCnx)
        Dim verifreserv As New System.Data.Odbc.OdbcCommand("", sqlCnx)
        Dim Nbdates As New System.Data.Odbc.OdbcCommand("SELECT COUNT(datedispo) FROM lesdates WHERE CAST(datedispo AS VARCHAR(10)) LIKE '" & madate(0) & "-" & moismodif & "%'", sqlCnx)
        Dim mesdates As New System.Data.Odbc.OdbcCommand("SELECT datedispo FROM lesdates WHERE CAST(datedispo AS VARCHAR(10)) LIKE '" & madate(0) & "-" & moismodif & "%' ORDER BY datedispo", sqlCnx)
        Dim myreader As Odbc.OdbcDataReader


        sqlCnx.Open()

        myreader = mesdates.ExecuteReader
        For i = 1 To Nbdates.ExecuteScalar
            myreader.Read()
            verifreserv.CommandText() = "SELECT COUNT(codeelever) FROM reservation WHERE codeelever = " & moncode(0) & " AND CAST(jourreserv AS VARCHAR(10)) = '" & myreader(0).ToString & "'"
            If verifreserv.ExecuteScalar = 0 Then
                ajoutDate.CommandText() = "INSERT INTO reservation VALUES(" & maxReserv.ExecuteScalar + 1 & ",'RR','N'," & moncode(0) & ",'" & myreader(0).ToString & "','CPREPRR','O','N')"
                Try
                    ajoutDate.ExecuteNonQuery()
                Catch
                    MsgBox("Reservation non autorisée car aucun parent n'est associé à cet enfant", MsgBoxStyle.OkOnly, "Avertissment")
                    TB_CharResEnf.Text = ""
                    CLB_DatePres.ClearSelected()
                End Try
            End If
        Next
        sqlCnx.Close()
    End Sub
0