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:

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.
Respuesta Responder a este mensaje
#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:

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.
Respuesta Responder a este mensaje
#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:

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:

> 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.
Respuesta Responder a este mensaje
#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:

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:

> 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:
>
> > 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.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida