Mantener selección en ListBox

12/04/2006 - 12:37 por Andrés | Informe spam
Tengo un control Listbox dentro de un control TabControl.
El ListBox tiene la propiedad SelectionMode en MultiSimple.
Tengo seleccionado más de un elemento en el listbox, pero cuando cambio de
solapa (Tabpage) y vuelvo a la anterior solo queda seleccionado el primer
ítem del ListBox.
¿Alguien sabe por qué pasa esto o cómo solucionarlo?
Estoy utilizando Visual Studio .NET 2003.
Gracias.

Andrés.

Preguntas similare

Leer las respuestas

#1 Jorge Serrano [MVP VB]
12/04/2006 - 15:50 | Informe spam
Hola Andrés,

lo he probado en VS .NET 2003 y VS 2005 y el resultado es siempre el esperado.

¿Estás seguro de que no tienes ningún evento o propiedad que recarga el
ListBox y por eso pierdes la selección realizada antes de cambiar de solapa?.

Un saludo.

Jorge Serrano Pérez
Microsoft MVP VB.NET
PortalVB.com
http://www.portalvb.com/
Weblog de Jorge Serrano
http://weblogs.golemproject.com/jorge/


"Andrés" wrote:

Mostrar la cita
#2 Jorge Serrano [MVP VB]
12/04/2006 - 15:51 | Informe spam
Hola Andrés,

lo he probado en VS .NET 2003 y VS 2005 y el resultado es siempre el esperado.

¿Estás seguro de que no tienes ningún evento o propiedad que recarga el
ListBox y por eso pierdes la selección realizada antes de cambiar de solapa?.

Un saludo.

Jorge Serrano Pérez
Microsoft MVP VB.NET
PortalVB.com
http://www.portalvb.com/
Weblog de Jorge Serrano
http://weblogs.golemproject.com/jorge/


"Andrés" wrote:

Mostrar la cita
#3 Andrés
12/04/2006 - 17:36 | Informe spam
No, no tengo ningun evento que vuelva a cargar los datos del ListBox.
Por si os sirve de ayuda los ítems del control se cargan desde un dataset,
mediante las siguientes líneas:

cmd = New System.Data.SqlClient.SqlCommand
cmd.Connection = SqlConnection1
cmd.CommandText = "cabezaEstadoConsulta"
cmd.CommandType = CommandType.StoredProcedure
param = cmd.Parameters.Add("@cabezaEstado", SqlDbType.Int)
param.Value = DBNull.Value
ds = New System.Data.DataSet
da = New System.Data.SqlClient.SqlDataAdapter(cmd)
da.Fill(ds)
lsbMCabeza.Items.Clear()
lsbMCabeza.DataSource = ds.Tables(0)
lsbMCabeza.ValueMember = "cabezaEstado"
lsbMCabeza.DisplayMember = "estado"

donde lsbMCabeza es el listBox.
Estuve probando con un proyecto con dos solapas y un listbox que toma los
datos de un dataset y me pasa lo mismo. Aparentemente sucede solamente cuando
está enlazado a un dataset.

Otra cosa extraña que me sucede es que cuando desmarco todos los ítems del
listbox automáticamente selecciona el primer elemento del control.

No se si esto puede ayudaros a encontrar el problema.

Saludos,

Andrés

"Jorge Serrano [MVP VB]" wrote:

Mostrar la cita
#4 Andrés
13/04/2006 - 08:46 | Informe spam
Hola, definitivamente el problema está cuando el control ListBox se enlaza
con un dataset. Ahora los tengo sin enlazar y funciona correctamente.

Gracias por todo.
Saludos,
Andrés.

"Andrés" wrote:

Mostrar la cita
Ads by Google
Search Busqueda sugerida