[VB.NET] Recuperer les informations d'une checkedListBox

Recuperer les informations d'une checkedListBox [VB.NET] - VB/VBA/VBS - Programmation

Marsh Posté le 25-05-2005 à 23:12:07    

J'ai du mal à récuperer les 2 éléments cochés dans une CheckedListBox...
 
Je la remplis à partir d'une BD.
 
Quelqu'un peut m'aguiller sur la methode a suivre ?

Reply

Marsh Posté le 25-05-2005 à 23:12:07   

Reply

Marsh Posté le 25-05-2005 à 23:48:01    

voici le bout de code correspondant :    
Private Sub recupererActItemsChecked()
        Dim cpt As Integer = 0
        Dim i As Integer = 0
        Dim tabAct(2) As Integer
        If CheckedListBoxAct.CheckedItems.Count = 2 Then
            ' on parcourt la checkedlistbox
            For cpt = 0 To CheckedListBoxAct.Items.Count
                If CheckedListBoxAct.Items.Item(i).Checked = True Then
                    tabAct(i) = cpt
                    i += 1
                End If
            Next
 
            For i = 0 To tabAct.Length - 1
                MsgBox(tabAct(i), MsgBoxStyle.Information)
            Next
        Else
            MsgBox("2 activites obligatoires", MsgBoxStyle.Exclamation)
        End If
    End Sub
 
il me met une erreur ds la condition du if... je ne sais pas comment savoir si l'element courant est checked

Reply

Marsh Posté le 26-05-2005 à 05:55:35    

Je ne connais pas .Net mais la logique me dirait de travailler comme ceci:

       If CheckedListBoxAct.Items(cpt).Checked = True Then  
            tabAct(i) = cpt  
            i += 1  
       End If


Message édité par AlainTech le 26-05-2005 à 05:56:09
Reply

Marsh Posté le 26-05-2005 à 16:07:27    

non c'est pas possible.

Reply

Marsh Posté le 26-05-2005 à 16:25:57    

Tu veux dire que ça ne fonctionne pas?
 
Quel message d'erreur?


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
Reply

Marsh Posté le 26-05-2005 à 18:10:30    

Une exception non gérée du type 'System.MissingMemberException' s'est produite dans microsoft.visualbasic.dll
 
Informations supplémentaires : Le membre public 'checked' du type 'DataRowView' est introuvable.
 
tu veux que je t'envoi par mail mon appli ?

Reply

Marsh Posté le 27-05-2005 à 10:25:36    

A part pour ma curiosité, je ne pourrais rien en faire.
 
Je n'ai pas .NET d'installé.
 
J'espère que knakes (ou n'importe qui d'autre qui pratique .Net) est encore dans les environs et qu'il pourra t'aider.


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
Reply

Marsh Posté le 27-05-2005 à 11:20:43    

Deja sur quelle ligne tu as l'erreur ? De plus le mesage d'erreur me parait clair et n'a a priori pas grand choses a voir avec la CheckedListBox

Reply

Marsh Posté le 27-05-2005 à 15:41:33    

il apparait sur cette ligne :
If CheckedListBoxAct.Items.Item(i).Checked = True Then  
Le truc ce que le .Checked n'est pas disponible, je l'ai rajouté car ça me semblait correct...
 
le truc que j'aimerais faire, c'est un test si l'element de rang i de la checkedlistbox est checked ou pas..

Reply

Marsh Posté le 27-05-2005 à 16:16:46    

Tu dois, en tout cas, remplacer i par cpt!


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
Reply

Marsh Posté le 27-05-2005 à 16:16:46   

Reply

Marsh Posté le 27-05-2005 à 16:54:14    

Merci pour le MP. Je vais tester. réponse dans la soirée. (si vous tenez jusque là)


---------------
now : do nothing
Reply

Marsh Posté le 27-05-2005 à 18:09:48    

je pense avoir trouvé une fonction sympatique sur la msdn :
 
 
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
 
End Sub

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed