Ayuda con Listview en VB 6.0

Buen día Experto, tengo una duda a cerca del control listview, lo que quiero hacer es agregar items y que valla seleccionando el ultimo item para forzar al scroll a recorerse automáticamente hasta el ultimo dato ingresado, tengo el siguiente código pero me da error con los indices fuera del limite, de antemano agradezco tu tiempo. Saludos
Private Sub dtc_codigodebarras_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Dim X As ListItem
Set X = ListView_tickets.ListItems.Add(, , dtc_codigodebarras.Text)
X.Tag = dtc_codigodebarras.Text
X.SubItems(1) = dtc_articulo.Text
X.SubItems(2) = txt_importe.Text
If txt_cantidad.Text = "" Then txt_cantidad.Text = 1
X.SubItems(3) = txt_cantidad.Text
X.SubItems(4) = Val(txt_importe.Text) * Val(txt_cantidad.Text)
ListView_tickets.ListItems.Item(ListView_tickets.ListItems.Count - 1).Selected = True
End Sub

1 Respuesta

Respuesta
1
Se me ocurren 2 cosas así al pronto.
. Los Subitems. Debes crearlos, bien añadiendo columnas bien por código.
El listitem. Count-1 te va a dar un error en la 1ª fila. Los nodos son una colección no un array por lo que empiezan a contar por el 1.
De todas formas no tengo claro que por el hecho de seleccionarlo funcione el scroll, creo que son dos cosas diferentes.
Gracias por tu respuesta. Lo que necesito saber es si podría yo ver el ultimo dato ingresado en mi listview. O que si existe una forma de recorrer automáticamente el scroll al ir agregando nuevos datos, con la finalidad de poder visualizarlo sin tener que recorrer yo el scroll. Gracias.
Me temo que no conozco un modo directo. Abría que meterse con las APIS de windows para hacerlo.
Aquí te dejo un ejemplo que tiene buena pinta.
La otra posibilidad es insertar las filas al revés de forma que la última esté siempre arriba :-)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas