Foros del Web » Programación para mayores de 30 ;) » .NET »

listview, el evento SelectedIndexChanged y una solucion extraña.

Estas en el tema de listview, el evento SelectedIndexChanged y una solucion extraña. en el foro de .NET en Foros del Web. hace poco relice una pregunta de por que no funcionaba y daba error el procedimiento para obtener un elemento del listview usando las teclas de ...
  #1 (permalink)  
Antiguo 06/07/2004, 17:35
 
Fecha de Ingreso: mayo-2004
Ubicación: cordoba
Mensajes: 27
Antigüedad: 20 años
Puntos: 0
De acuerdo listview, el evento SelectedIndexChanged y una solucion extraña.

hace poco relice una pregunta de por que no funcionaba y daba error el procedimiento para obtener un elemento del listview usando las teclas de desplazamiento.

Private Sub ListaSelec_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView2.SelectedIndexChanged
If Me.ListView2.Items.Count <= 0 Then Exit Sub

MiTextBox1.Text = ListView2.FocusedItem.SubItems(3).Text()
End Sub

y el programa se detenetina. Mi primera solucion fue utilizar el manejador de errores con el try y cach

try
MiTextBox1.Text = ListView2.FocusedItem.SubItems(3).Text()
Finally
Beep() ' Beep after error processing.
End Try

Al utilizar las flechas de desplazamiento para moverme entre las disstintas filas la primera vez obtenia el item pero la segunda se producia el error y se terminaba la ejecucion

Buscando .... encontre que el problema del listview es cuando se pierde el foco, entonces el focuseditem da error ????.

se meocurrio cambiar el try por On Error GoTo, y me di con la sorpresa de que me devuelve el elemento y sale por error.

Como es posible esto ???????????????

En fin probe lo siguiente

Private Sub ListaSelec_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView2.SelectedIndexChanged
If Me.ListView2.Items.Count <= 0 Then Exit Sub
On Error GoTo salir
PosLista = CInt(Me.ListView2.FocusedItem.Index)
MiTextBox1.Text = ListView2.FocusedItem.SubItems(3).Text()
salir:
Beep()
End Sub

Saludos
  #2 (permalink)  
Antiguo 06/07/2004, 19:53
 
Fecha de Ingreso: julio-2004
Mensajes: 1
Antigüedad: 19 años, 9 meses
Puntos: 0
listview, el evento SelectedIndexChanged y una solucion extraña

Hola Turbo, me paso lo mismo debido a que entre cambio de items primero pierde el focus el item anterior (esto genera el error ya q no tienes un item a cual ser referencia) y despues se coloca el focus en el siguiente item o item seleccionado, la solucion a esto es lo siguiente:

If Me.ListView2.SelectedItems.Count <= 0 Then Exit Sub

ROLF
  #3 (permalink)  
Antiguo 07/07/2004, 02:57
 
Fecha de Ingreso: mayo-2004
Ubicación: cordoba
Mensajes: 27
Antigüedad: 20 años
Puntos: 0
pregunta

con el control de si tiene elementos tambien me daba error, yo cree una applicacion con un listview y con vatios elementos y me puse a probar

Public Sub ListaClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView2.Click
If Me.ListView2.Items.Count <= 0 Then Exit Sub
PosLista = CInt(Me.ListView2.FocusedItem.Index)
MiTextBox1.Text = ListView2.FocusedItem.SubItems(3).Text()
End Sub

Private Sub ListaSelec_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView2.SelectedIndexChanged
If Me.ListView2.Items.Count <= 0 Then Exit Sub
On Error GoTo salir
PosLista = CInt(Me.ListView2.FocusedItem.Index)
MiTextBox1.Text = ListView2.FocusedItem.SubItems(3).Text()
salir:
Beep()
End Sub
en fin esta es la solucion que encontre y funciona Ok

saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 16:50.