quisiera saber cual es la propiedad para desplazarme por un listview pero con botones, se puede?, es decir cargo mi listwiew con datos y con 4 botones desplazarme recocorro por todo el listview (primero, anteriori, siguiente y ultimo)
Ufff!!! por fin!! te dejo este ejemplo que te puede servir, al principio como no recordaba la forma de hacerlo me quede en stop hasta que me acorde
Para seleccionarlo:
ListView1.ListItems.Item(Posición del Item).Selected = True
Para darle el focus:
ListView1.SetFocus
En fin, hay te va...
Option Explicit
Dim Item As ListItem
Dim I As Integer
Private Sub Form_Load()
With ListView1
' Agrega tres columnas
.ColumnHeaders.Add , , "Elementos"
.ColumnHeaders.Add , , "SubItems"
.ColumnHeaders.Add , , "SubItems"
'Vista de reporte
.View = lvwReport
.GridLines = True 'las lineas
End With
Agregar_Item 'Agregamos los items de ejemplos
End Sub
Private Sub Agregar_Item()
'Para este ejemplo usaremos 10 items
For I = 1 To 10
Set Item = ListView1.ListItems.Add(, , "Elemento: " & I)
Item.SubItems(1) = "Subitem " & I
Item.SubItems(2) = "Subitem " & I
Next
'Liberamos el objeto
Set Item = Nothing
End Sub
Private Sub CmdPrimero_Click()
ListView1.ListItems.Item(1).Selected = True 'Seleccionamos el primero
ListView1.SetFocus 'Le damos focus
End Sub
Private Sub CmdAnterior_Click()
'Lo ubicamos en el anterior solo si es mayor a uno
If ListView1.SelectedItem.Index > 1 Then
ListView1.ListItems.Item(ListView1.SelectedItem.Index - 1).Selected = True
ListView1.SetFocus
Else
'Sino mostramos el mensaje correspondiente y dejamos seleccionado el primero
MsgBox "No hay Item anterior porque esta posicionado en el primero", vbCritical
ListView1.ListItems.Item(1).Selected = True
ListView1.SetFocus
End If
End Sub
Private Sub CmdSiguiente_Click()
'Lo ubicamos en el siguiente solo si es menor al ultimo
If ListView1.SelectedItem.Index < ListView1.ListItems.Count Then
ListView1.ListItems.Item(ListView1.SelectedItem.Index + 1).Selected = True
ListView1.SetFocus
Else
'Sino mostramos el mensaje correspondiente y dejamos seleccionado el ultimo
MsgBox "No hay Item siguiente porque esta posicionado en el ultimo", vbCritical
ListView1.ListItems.Item(ListView1.ListItems.Count).Selected = True
ListView1.SetFocus
End If
End Sub
Private Sub CmdUltimo_Click()
'Seleccionamos el ultimo
ListView1.ListItems.Item(ListView1.ListItems.Count).Selected = True
ListView1.SetFocus 'Le damos focus
End Sub
Espero que el esfuerzo valga la pena y te pueda servir.
¡S4lu2!