Visual Basic - Sincronizar Listas

Life is soft - evento anual de software empresarial
 
Vista:

Sincronizar Listas

Publicado por Carlos (18 intervenciones) el 06/08/2004 09:06:33
HOLA FAMILIA!
Explico: Tengo 3 listas objetos ListBox, en uno Nombre, en otra Paellidos y en otra Teléfono, cómo puedo hacer para sincronizar las 3? Por ejemplo, si desplazo una hacia abajo con el scrollbar de la lista, que también bajen las otras... entendeis?
GRACIAS FAMILIA
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Sincronizar Listas

Publicado por Javi R. (29 intervenciones) el 06/08/2004 09:33:31
Explicate mejor, por ejemplo, si dichas listas están enlazadas a tablas de datos, o si pertenecen a una colección de datos..., y cuando deben desplazarse, ya que si tienes tres listas serán para poder construir los datos de una persona ya existente, por lo tanto para que sincronizar las tres listas, a no ser que quieras que tras seleccionar el nombre de la lista, la lista apellidos se posicione en el primer apellido posible con ese nombre y así consecutivamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sincronizar Listas

Publicado por Carlos (18 intervenciones) el 06/08/2004 09:43:19
No me habeis entendido... Yo cargo los datos de una base de datos y los voy mostrando en 3 listas (ListObjects), en una pongo el nombre, en otra los apellidos y en la tercera el telefono,ok? entonces mi pregunta es como puedo sincronizarlas para que al desplazar una se desplacen tambien las deás, por ejemplo, si muevo la lista de nomres hacia abajo, quiero que tb se muevan la lista de apellidos y la de telefonos, OK?
GRACIAS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Sincronizar Listas

Publicado por Semper (74 intervenciones) el 06/08/2004 12:19:18
El siguiente codigo es lo que quieres?
Se asume que los tres listboxes contienen exactamente la misma cantidad de elementos y que estan ordenados exactamente igual; es decir: al leer un registro de tu recordset, agregas el nombre al primer listbox, el apelllido al segundo y el telefono al tercero...

El problema es que el evento _CLICK de los listboxes (si tienes algo en ellos) se activa al reposicionar el ListIndex correspondiente...
Ademas, el Scrolling se vuelve lento por la sincronizacion que se hace con los otros 2 lists...

Es mas practico el uso del evento _CLICK que el del SCROLL para sincronizar listboxes (para probarlo, solo pon el mismo codigo de cada evento SCROLL en el evento _CLICK del listbox correspondiente)...

Private Sub listNom_Scroll()
listApe.ListIndex = listNom.ListIndex
listApe.TopIndex = listNom.TopIndex

listTel.ListIndex = listNom.ListIndex
listTel.TopIndex = listNom.ListIndex
End Sub

Private Sub listApe_Scroll()
listNom.ListIndex = listApe.ListIndex
listNom.TopIndex = listApe.TopIndex

listTel.ListIndex = listApe.ListIndex
listTel.TopIndex = listApe.ListIndex
End Sub

Private Sub listTel_Scroll()
listNom.ListIndex = listTel.ListIndex
listNom.TopIndex = listTel.TopIndex

listApe.ListIndex = listTel.ListIndex
listApe.TopIndex = listTel.ListIndex
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Correcion al codigo ...

Publicado por Semper (74 intervenciones) el 06/08/2004 12:24:34
Este es el codigo correcto ... (Son las 3:26am aqui, asi que...)

Private Sub listNom_Scroll()
listApe.ListIndex = listNom.ListIndex
listApe.TopIndex = listNom.TopIndex

listTel.ListIndex = listNom.ListIndex
listTel.TopIndex = listNom.TopIndex
End Sub

Private Sub listApe_Scroll()
listNom.ListIndex = listApe.ListIndex
listNom.TopIndex = listApe.TopIndex

listTel.ListIndex = listApe.ListIndex
listTel.TopIndex = listApe.TopIndex
End Sub

Private Sub listTel_Scroll()
listNom.ListIndex = listTel.ListIndex
listNom.TopIndex = listTel.TopIndex

listApe.ListIndex = listTel.ListIndex
listApe.TopIndex = listTel.TopIndex
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Correcion al codigo ...

Publicado por Carlos (18 intervenciones) el 06/08/2004 12:28:06
ERES UN MONSTRUO AMIGO, GRACIAS; era la propiedad "TopIndex "
la que me hacía falta y yo no conocía. gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar