Voici une solution non testé.
Cette solution est un peu plus propre, mais aussi un peu plus bourrin ...

Ce que je fais : je fais une nouvelle class : qui est une collection de Checkbox
Private Class CheckBoxCollection Inherits CollectionBase
Default ReadOnly Property Item(ByVal index As Int32) As CheckBox Get Return CType(Me.List.Item(index), CheckBox) End Get End Property
Public Function Add(ByVal Check As CheckBox) As CheckBox Me.List.Add(Check) Return Check End Function
End Class
|
puis je regarde tout les controls du datalist, et si il y en a qui est un checkbox, je l'ajoute à la collection
Dim CheckBoxColl As New CheckBoxCollection
For Each c As Control In dl.Controls Try CheckBoxColl.Add(CType(c, CheckBox)) Catch ex As Exception End Try Next
For Each Check As CheckBox In CheckBoxColl Response.Write(Check.Text & " " & Check.Checked) Next
|
(dl est le nom du datalist)
attention, ca met tout les checkbox du datalist ... si tu veux ajouter juste les checkbox ayant l'id cbxPR il faudrais surement faire un truc de ce genre :
Try Dim Check As CheckBox = CType(c, CheckBox) If Check.ClientID.Substring(5) = "cbxPR" Then CheckBoxColl.Add(Check) End If Catch ex As Exception End Try
|
Je sais pas si ca marche, car j'ai pas testé, mais je vois pas de problème, par contre j'emet un gros doute pour le dernier bout de code :)
@+
Cyril