2008-10-14 30 views
6

¿Hay alguna forma de controlar las columnas desde el código?ASP.NET: Ocultar columnas en gridview

Tenía un cuadro desplegable con seleccionar: Diario y fin de semana y la columna con vista de cuadrícula con Lunes, Martes, Miércoles, Jueves, Viernes, Sábado, Domingo. Si el usuario selecciona Diario, quiero mostrar las columnas solo de lunes a viernes.

Es posible controlar desde el código. Oh, estoy usando esta griview en mi página web y la codificación está hecha usando C#.

ayuda!

Respuesta

8

Uso Columns propiedad:

GridView1.Columns[5].Visible = false 
GridView1.Columns[6].Visible = false 
1

En el subproceso Controlador de eventos Item DataBound, para cada fila de cuadrícula, revise la lista desplegable para "Diario" o "fin de semana" y luego establezca la visibilidad de las columnas en cuestión en False o true donde corresponda.

1

Puede ocultar o mostrar columnas mediante programación mediante la indexación en la colección Columns y establecer la propiedad Visible.

Por ejemplo, para ocultar la primera columna en el gridview:

theGridview.Columns[0].Visible = false; 
0

Podría ser una molestia para que pueda utilizar el índice de la columna - convenientemente, la propiedad Columns también acepta el nombre de la columna, que puede establecer en la creación utilizando la propiedad Nombre de la columna. Esto ayuda a que el código se auto-documente.

+0

No hay ningún nombre indexador en la propiedad Columns, si la hay, puede hacer referencia a que el documento de MSDN? –

3

Todos estos fragmentos de código solo funcionan cuando tiene AutoGenerateColumns establecido en falso. Si está utilizando AutoGeneratedColumns, debe recorrer cada fila y ocultar las celdas correspondientes.

Gracias

+0

Gracias por señalar esto. Todas las otras respuestas que he visto ignoran eso y esta es una distinción importante y tu respuesta me salvó un tiempo. –

Cuestiones relacionadas