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.

Était-ce utile?

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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top