Agregar elementos a la vista de lista en tiempo de ejecución
-
22-07-2019 - |
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.
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