La manera más fácil de utilizar un ASP Gridview es que a partir de un origen de datos seleccionado Visual Studio, cree automáticamente las columnas y el tipo de control en el cual se representaran los datos, generalmente de tipo ASP BoundField.
Pero cada caso es muy diferente a los demás, en ocasiones esto no es muy conveniente debido a la extensa longitud de algunos datos.
Desarrollando un acortador de URL’s me encontré con un dato que quería mostrar en una columna de un ASP Gridview que era demasiado extenso (Url Larga), y al darle un ancho fijo a la columna lo único que hacia era distribuir el contenido en varias líneas. Eso si la cadena tenía espacios, si no, no respetaba el ancho de la columna.
Entonces, como no era necesario mostrar la cadena completa (Url Larga), decidí, hacer lo siguiente.
Dentro de la etiqueta <Columns> del Gridview
1.- Cambiar el tipo ASP BoundField por el tipo ASP ItemTemplate
2.- Dentro de <ItemTemplate>, Colocar un
<div> con el ancho requerido, y el estilo overflow:hidden.
3.- Dentro del div evaluar la expresión del origen de datos <%# Eval(“Url Larga”)%>
De esta manera, dentro del div se mostrara el contenido de la expresión, el ancho no cambiara a pesar de la longitud del contenido, y con el estilo nos aseguramos que el texto que se salga del div no aparezca, quedando algo asi:
De igual manera para la columna Url Corta, modifique el BoundField por ItemTemplate para poder mostrar este campo como un enlace <a>
Gracias
Justo lo que necesitaba, muchas gracias por compartir la información.
Que bueno que te fue de utilidad… Proximamente estaré posteando algunos otros temas… esta pendiente….
Muchas gracias esto es lo que necesito.
Que bueno que te fue de utilidad… Proximamente estaré posteando algunos otros temas… esta pendiente….
Hola… Gracias por la información, es bueno en ese caso, sin embargo como haría al querer mostrar todo el contenido, es decir una descripción larga. Que se muestre en varias filas… Como sucede automáticamente en algunos casos.
Hola Gleiston..
Pues por default un GridView te mostrara toda la info que se traiga del DataSource… No se sí a esto te refieres.
Saludos
Excelente aportacion