?id=6a11ff79-1483-4c32-a3fd-76099b96af68
El problema de los valores por defecto en listas desplegables de ASP.NET
por José M. Alarcón
Se trata este de un truco sencillo, pero aún así interesante ya que mucha gente tarda en darse cuenta de cómo solucionarlo.
El problema surge cuando usas un control DataSource del tipo que sea (ObjectDataSource, SqlDataSource, LinqDataSource, etc...) y lo enlazas con un DropDownList para mostrar una lista de valores para elegir, por ejemplo, la categoría de productos a mostrar en otro control GridView. El origen de datos te devuelve sólo los diferentes valores de categorías disponibles en la base de datos, pero lo habitual es que además de una categoría (o lo que sea) concreta, desees dar una opción o dos por defecto, por ejemplo "Ver todas" y "Ninguna". Pero claro el control de origen de datos no tiene esas categorías inexistentes contempladas, así que ¿cómo haces?
Pues muy fácil, pero hay que saber un truquillo: la propiedad AppendDataBoundItems del control DropDownList.
Si la estableces a True lo que consigues es que cualquier elemento que coloques en lalista en tiempo de diseño se conserve (en los primeros lugares además) aunque le añadas dinámicamente otros en tiempo de ejecución con el control de origen de datos. Así, basta con que añadas un par de elementos como los del ejemplo, según tus necesidades, para tener disponibles más opciones adicionales en la lista desplegable.
Sencillo pero útil :-)
José Manuel Alarcón Aguín
Fundador de
campusMVP.es, el
proyecto de referencia en formación on-line para programadores en lengua española.
Autor de varios libros y cientos de artículos. Galardonado como
MVP de Microsoft desde 2004. Gallego de Vigo, amante de la ciencia y la
tecnología, la música y la lectura. Ayudando a la gente en Internet desde 1996.