Pregunta

Cuando agrego nuevos valores a una vista de lista usando:

    Set lstView = ListView(0).ListItems.Add(, , txtName)
    lstView.ListSubItems.Add , , txtValue
    lstView.Refresh

El único problema es que esto solo muestra una nueva línea en blanco en la vista de lista, ¿alguna idea de cómo actualizarla correctamente?

Normalmente estoy usando un conjunto de registros, así que simplemente borre y vuelva a llenar los datos, pero necesito que el usuario pueda agregar entradas a la vista de lista. Luego recorreré la vista de lista agregando los valores a la base de datos solo una vez que el usuario haya terminado de enmendar la vista de lista.

Gracias de antemano por cualquier ayuda.

¿Fue útil?

Solución

Suponiendo que la propiedad .View de su ListView esté configurada en "Informe", lo siguiente agregará un par de filas al control y establecerá el texto del elemento secundario.

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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top