ajout d'éléments à listview lors de l'exécution
-
22-07-2019 - |
Question
Lorsque j'ajoute de nouvelles valeurs à une liste à l'aide de:
Set lstView = ListView(0).ListItems.Add(, , txtName)
lstView.ListSubItems.Add , , txtValue
lstView.Refresh
Le seul problème est qu’il n’affiche qu'une nouvelle ligne vierge dans la liste, quelle idée de mettre à jour correctement?
Normalement, je suis en train d'utiliser un jeu d'enregistrements, il faut donc clairement effacer puis repeupler les données, mais j'ai besoin que l'utilisateur puisse ajouter des entrées à la vue liste. Je passerai ensuite en revue la liste en ajoutant les valeurs à la base de données uniquement lorsque l'utilisateur aura fini de modifier la liste.
Merci d'avance pour votre aide.
La solution
En supposant que la propriété .View de votre ListView soit définie sur "Rapport", les éléments suivants ajouteront quelques lignes au contrôle et définiront le texte du sous-élément.
Dim li As ListItem
With ListView1
.ColumnHeaders.Add , , "One"
.ColumnHeaders.Add , , "Two"
.ColumnHeaders.Add , , "Three"
Set li = .ListItems.Add(, , "Row1Item1")
li.SubItems(1) = "Row1Item2"
li.SubItems(2) = "Row1Item3"
Set li = .ListItems.Add(, , "Row2Item1")
li.SubItems(1) = "Row2Item2"
li.SubItems(2) = "Row2Item3"
End With