LISTVIEW - N'avoir qu'un seul item coché dans la liste
Bonjour,
Je sollicite votre aide car je ne parviens pas à arriver à mes fins avec mon ListView.
Dans l'état j'ai un ListView avec un nombre n d'items, et les checkboxes en regard de chacun.
Ce que je souhaiterai, c'est que l'on ne puisse cocher qu'un item, et ne pas pouvoir décocher celui qui est actuellement actif (pour ne pas se retrouver sans item coché du tout).
J'arrive à gérer le fait qu'il n'y ait qu'un seul item coché avec ce code dans l'Event ItemCheck :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
Dim LastCheckedItem As ListViewItem
Private Sub LstContrats_ItemCheck(sender As Object, e As ItemCheckEventArgs) Handles LstContrats.ItemCheck
For i = 0 To LstContrats.Items.Count - 1
If LstContrats.Items(i).Checked = True Then
LastCheckedItem = LstContrats.Items(i)
End If
Next
If LastCheckedItem.Index <> e.Index Then
LastCheckedItem.Checked = False
Else
End If
LastCheckedItem = LstContrats.Items(e.Index)
End Sub |
La variable LastCheckedItem étant affectée lors du remplissage initial de la ListView.
Il ne me manquerait plus qu'à faire pour que lorsque l'utilisateur cliquerait sur la checkbox de l'item qui est déjà coché, celle-ci ne réagisse pas, afin que je ne puisse pas me retrouver avec zéro item coché (ce qui est possible actuellement et qui m'ennuie).
Merci d'avance aux personnes qui pourront m'aider !
Bonne journée.
Cordialement-