Visual Basic.NET - Excluir valores en 5 DropDownList

   
Vista:

Excluir valores en 5 DropDownList

Publicado por Tony (2 intervenciones) el 21/06/2010 21:15:22
Hola, la situacion ahora es esta.
Tengo tres elementos por los cuales he de votar, asignandoles con categorias del 1 al 3. Lo que quiero lograr es :
Categoria
Elemento 1 -- 3
Elemento 2 -- 1
Elemento 3 -- 2

El control que "pretendo" utilizar para seleccionar las Categorías es un DrowDownList.
Ejemplo:
Si para el Elemento 1 escojo la categoría 3, (de una lista del 1 al 3), cuando tenga que seleccionar la categoría para el elemento 2, entonces ya no me aparezca el valor 3, que seleccione anteriormente.
Si para el elemento 2, escogí el 1, entonces cuando vaya a seleccionar la categoría del Elemento 3, entonces solo me aparezca en mi lista desplegable el 2, que es el único que aun no se ha seleccionado.
Es decir quiero ir excluyendo los valores que ya han sido seleccionados para los restantes elementos que me quedan por categorizar, para evitar que se seleccionen dos veces o mas.

Muchas gracias por cualquier ayuda con esta problematica.

Saludos a Todos como siempre.
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:Excluir valores en 5 DropDownList

Publicado por Omar (3 intervenciones) el 22/06/2010 09:06:21
Si guardas los datos en una Base de Datos podrias ir registrando las categorias seleccionadas, y tu DropDownList lo llenas apartir de la Tabla:

SELECT IdCategoria, Descripcion FROM CatalogoCategorias Where IdCategoria not in(Aqui meterias los ids de categorias que ya tienes seleccionados), los deberas pasar como parametros

Otra opcion:

guardas las categorias seleccionadas en alguna variable por ejemplo en un string y separas con comas los ids de categoriascada vez q selecciones una le concatenas el id

luego podrias tener tu combo ya cargado con los ids, obtienes los ids del string haciendo un Split(',') te devuelve un arreglo con todos tus ids, entonces lo iteras a la par con el combo y vas comparando si encuentras el valor en el string deshabilitas o eliminas el elemento coincidente en el combo

Saludos!!
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:Excluir valores en 3 DropDownList

Publicado por Tony (2 intervenciones) el 02/07/2010 19:27:59
Estimado Omar: En verdad intente por esa via pero yo no pude.

Resolvi el problema con el metodo REMOVE.
* Me refiero a partir de ahora a los DropDownList como DDL *

Mis listas para los 3 DDL esta compuesta por los elementos siguientes
< - Seleccione un Item -, 1, 2, 3 >, por defecto cuando se cargan los DDL, el valor seleccionado es < - Seleccione un Item - >

Protected Sub DropDownList1_SelectedIndexChanged
DropDownList2.Items.Remove(DropDownList1.Text)
DropDownList3.Items.Remove(DropDownList1.Text)
End Sub
Protected Sub DropDownList2_SelectedIndexChanged
DropDownList1.Items.Remove(DropDownList2.Text)
DropDownList3.Items.Remove(DropDownList2.Text)
End Sub
Protected Sub DropDownList3_SelectedIndexChanged
DropDownList1.Items.Remove(DropDownList3.Text)
DropDownList2.Items.Remove(DropDownList3.Text)
End Sub

Ahora bien, quisiera perfeccionar esto, quiza a muchos les convenga tener esto resuelto para un futuro.
Tengo la problematica siguiente y tratare de explicarla lo mejor que pueda.

Al seleccionar por ejemplo del DDL1 el número (3), automaticamente se me excluyen de las listas del DDL2 y DDL3 el número 3.
Ahora, si me arrepiento de haber seleccionado el numero (3) en el DDL1, y seguidamente selecciono otro valor, por ejemplo el numero (2), entonces TAMBIEN el elemento (2) me desaparece de DDL2 y de DDL3, quedando solamente las listas de estos con el elemento (1).
NECESITO que si escogi el numero (2) por le numero (3), entoces el numero (3) se me incorpore a las listas de los DDL2 y DDL3 respectivamente.

DropDownList tiene un metodo contrario al Remove, que es Add, con este se añaden elementos a las listas.

Lo que pasa es que no se como almacenar en una varible el numero (3), que "por error " se selecciono como primer elemento para el DDL1 para despues añadirlo con el metodo Add.

Por Fa' . Necesito ayuda.
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