Buscar en un Listview y que lo muestre

18/08/2010 - 17:43 por Víctor | Informe spam
Buenos días Grupo,

Tengo lo siguiente: Un Listview (se ven 10 filas con un total 100), un
botón Buscar y un cuadro de Texto. En el Cuadro de Texto, ingreso una
cédula, presiono el botón buscar y mediante un For, recorro el
Listview, lo detengo si encuentra, sin embargo, esto me funciona sólo
hasta la fila 10, si pasa de ésta me la selecciona y me la chequea
correctamente, pero tengo que utilizar la barra del scroll manualmente
para llegar hasta el item, y justamente es esta mi pregunta: Cómo hago
para que si la encontró, vaya automáticamente hasta esa fila y pueda
visualizarla?

Buscando por ahí encontré esta función, pero tampoco me funcionó,
póngala como la ponga:

returnValue = Me.lstPoliza.FindItemWithText(sCedulaList, True, 1,
True)
returnValue = Me.lstPoliza.FindItemWithText(sCedulaList)

Aquí mi código (cabe destacar que la Cédula que busco está en la
columna 4):

sCedulaList = Me.txtCedula.Text.Trim
For i = 1 To lstPoliza.Items.Count - 1
Me.lstPoliza.Items(i).Checked = True
sCedula = Me.lstPoliza.Items(i).SubItems(3).Text.Trim()
If sCedulaList = sCedula Then
Me.lstPoliza.Select()
Me.lstPoliza.Items(i).Selected = True
Exit For
End If
Next i

Muchas gracias de verdad.
 

Leer las respuestas

#1 Víctor
18/08/2010 - 23:06 | Informe spam
Buenas tardes Grupo,

Ya lo resolví, agrewgando la siguiente línea de código:
Me.lstPoliza.Items(i).EnsureVisible()

Y quedó así.

sCedulaList = Me.txtCedula.Text.Trim
For i = 1 To lstPoliza.Items.Count - 1
Me.lstPoliza.Items(i).Checked = True
sCedula = Me.lstPoliza.Items(i).SubItems(3).Text.Trim()
If sCedulaList = sCedula Then
Me.lstPoliza.Items(i).EnsureVisible()
Me.lstPoliza.Items(i).Selected = True
Exit For
End If
Next

Muchas gracias

Preguntas similares