Suppression d' éléments dans une liste.
Bonjour,
Je butte sur quelque chose de bête mais pas moyen de m'en sortir...
J'utilise un composant (Infragistics, leur module de grid) dans laquelle j'ai des lignes que je souhaite supprimé quand certaines cellules ne sont pas renseignées.
Je fais donc un "row.delete()" quand il est necessaire
manque de chance à chaque interraction il décale les lignes, remplacant celle qui a été supprimé par la suivante (si celle-ci existe)
Si bien que je ne peux pas faire de For each.
J'ai essayé de faire ca en 2 étapes :
- lister les index des lignes à supprimer
- supprimer à partir du listing
mais forcément j'en reviens au même problème.
Existe t-il une solution simple ?
Merci de votre aide.
boucle de suppression conditionnel.
J'ai essayé ta technique, en retranchant 2, mais il me restait 2 lignes sur les 3 dans la grille.
j'ai tenté en retranchant 1, il me reste une ligne sur les 3, ce qui n'est pas bon puisque mon test consiste à supprimer les lignes vides et dans ce cas là les 3.
J'avais tenté hier la boucle en incrémentant.
voici le code utiliser :
Code:
1 2 3 4 5 6 7 8 9 10
|
With uwgEvtPerso
Dim nbRows = .Rows.Count - 1
For i As Long = nbRows To 0 Step -1
If IsNothing(.Rows(i).Cells.FromKey("dtSemDebut").Value) OrElse IsNothing(.Rows(i).Cells.FromKey("dtSemFin").Value) Then
.Rows(i).Delete()
i -= 1
End If
Next
End With |