desplazar listview

Iniciado por juanjoxx, 19 Marzo 2008, 12:49 PM

0 Miembros y 2 Visitantes están viendo este tema.

juanjoxx

hola a todos ...  ;D
tengo un problema q nu se si sea sencillo  :huh:, bueno 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) si me entinden no  :-\ buenoi espero me puedan ayudar , de antemando ya Gracias
Juanjo ....

cassiani

#1
Cita de: juanjoxx en 19 Marzo 2008, 12:49 PMquisiera 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:
Código (vb) [Seleccionar]
ListView1.ListItems.Item(Posición del Item).Selected = True

Para darle el focus:       
Código (vb) [Seleccionar]
ListView1.SetFocus

En fin, hay te va...

Código (vb) [Seleccionar]
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!




juanjoxx

excelente brother xD!!! ahora a probarlo ....... uhmmmmmmmmmmm   ;D
Juanjo ....