Como ir escribiendo un mensaje y se vaya copiando...

trisssi
17 de Junio del 2006
Necesito ayuda a cerca del siguiente problema;
Tengo un listview y voy a introdicur datos mediantes una caja de texto,entonces tengo que realizar una busqueda y mi pregunta es,

Como puedo ir escribiendo el texto en la caja y vaya apareciendo las coincidencias en el listview, gracias

Isaac
17 de Junio del 2006
Hola Trissi, aqui esta el codigo copia el codigo en visual basic. Debes de tener un Listview1 y un Text1

Private Sub Text1_Change()
\'Creo una variable para el item q buscar
Dim sItem As ListItem
\'Busco en el listview el contenido del text1 y de forma parcial
Set sItem = ListView1.FindItem(Text1.Text, , , lvwPartial)
\'Si sItem es Nothing, entonces no ha encontrado coincidencias
If Not sItem Is Nothing Then
\'Muestro el item en caso q no se vea
\'Puede ser porque el listview contenta bastante datos

sItem.EnsureVisible

\'Selecciono el item encontrado
sItem.Selected = True
End If
End Sub

Private Sub Form_Load()
Dim Nombres(1 To 10) As String
\'Crea dos controles un ListView con el name = ListView1
\' y un Texto con el name = Text1
\'Creo una matriz para los datos
\'Aqui tendria q llenar con tus datos reales
Nombres(1) = "Carlos"
Nombres(2) = "Ana"
Nombres(3) = "Pedro"
Nombres(4) = "Pamela"
Nombres(5) = "Rubi"
Nombres(6) = "Cesar"
Nombres(7) = "Arturh"
Nombres(8) = "Sandra"
Nombres(9) = "Melissa"
Nombres(10) = "Alenjandra"
\' Todo esto lo puedes hacer en tiempo de diseño
\' Solo q para q sepas q propiedades he modificado te lo pongo tambien aqui
With ListView1
\'Creas dos columnas
.ColumnHeaders.Add , , "Nombre"
.ColumnHeaders.Add , , "Fecha"
.FullRowSelect = True \'Que se selecciones toda la fila
.Gridlines = True \'Que aparescas lineas entre las filas
.HideSelection = False \'Que no se oculte la selecciones si pierde el foco
.Sorted = True \'Que ordene el listview
.SortKey = 0 \'Que lo ordene de la primera columna o text
.SortOrder = lvwAscending \'Que lo ordene de forma ascendente
.View = lvwReport \'Que muestre vista reporte
End With

\'Agrego los datos al listview
For I = 1 To 10
With ListView1.ListItems.Add(, , Nombres(I))
.SubItems(1) = Date + I
End With
Next I
End Sub

Como me lo pedistes :D... tambien lo pongo en el foro ;-)

Bye

Isaac
17 de Junio del 2006
Nose q paso en el mensaje anterior pero apericio la barra invertida ( )antes de las comillas... lo unico q tienes q hacer es quitarle esa barrar... Aqui esta de nuevo el codigo...


Private Sub Text1_Change()

'Creo una variable para el item q buscar
Dim sItem As ListItem

'Busco en el listview el contenido del text1 y de forma parcial
Set sItem = ListView1.FindItem(Text1.Text, , , lvwPartial)

'Si sItem es Nothing, entonces no ha encontrado coincidencias

If Not sItem Is Nothing Then
'Muestro el item en caso q no se vea
'Puede ser porque el listview contenta bastante datos

sItem.EnsureVisible

'Selecciono el item encontrado
sItem.Selected = True
End If

End Sub

Private Sub UserForm_Initialize()

Dim Nombres(1 To 10) As String

'Crea dos controles un ListView con el name = ListView1
' y un Texto con el name = Text1

'Creo una matriz para los datos
'Aqui tendria q llenar con tus datos reales
Nombres(1) = "Carlos"
Nombres(2) = "Ana"
Nombres(3) = "Pedro"
Nombres(4) = "Pamela"
Nombres(5) = "Rubi"
Nombres(6) = "Cesar"
Nombres(7) = "Arturh"
Nombres(8) = "Sandra"
Nombres(9) = "Melissa"
Nombres(10) = "Alenjandra"

' Todo esto lo puedes hacer en tiempo de diseño
' Solo q para q sepas q propiedades he modificado te lo pongo tambien aqui

With ListView1
'Creas dos columnas
.ColumnHeaders.Add , , "Nombre"
.ColumnHeaders.Add , , "Fecha"
.FullRowSelect = True 'Que se selecciones toda la fila
.Gridlines = True 'Que aparescas lineas entre las filas
.HideSelection = False 'Que no se oculte la selecciones si pierde el foco
.Sorted = True 'Que ordene el listview
.SortKey = 0 'Que lo ordene de la primera columna o text
.SortOrder = lvwAscending 'Que lo ordene de forma ascendente
.View = lvwReport 'Que muestre vista reporte
End With


'Agrego los datos al listview
For I = 1 To 10
With ListView1.ListItems.Add(, , Nombres(I))
.SubItems(1) = Date + I
End With

Next I

End Sub