c# gridview hide asp.net-4.0

c# - Ocultar una columna GridView por nombre en tiempo de ejecución en ASP.Net



hide asp.net-4.0 (3)

¿Es posible mostrar / ocultar una columna GridView en tiempo de ejecución por nombre?

Puedo hacerlo a través del índice de la siguiente manera:

gridReviews.Columns[4].Visible = false;

Sin embargo, me gustaría hacer lo siguiente:

gridReviews.Columns["Name"].Visible = false;

¿Cuál es la mejor manera de hacer esto?


Puede acceder indirectamente a la vista de cuadrícula por nombre de columna si puede acceder a los datos que utilizó para vincular la vista de cuadrícula y las columnas de vista de cuadrícula están en el mismo orden que la tabla de datos (y AutoGenerarColumnas = falso):

//Make ID column invisible by column name gv.Columns[dt.Columns[ID].Ordinal].Visible = false;


Puede usar el siguiente código para ello:

foreach (DataControlField col in gridReviews.Columns) { if (col.HeaderText == "Name") { col.Visible = false; } }


Siempre use (si puede) el nombre de columna mientras accede a la columna en gridview, datatable, etc. para fines de legibilidad. también será útil cuando reordena las columnas en gridview.

De lo contrario, ambas opciones están bien.