Ответ 1
Вы можете использовать для него следующий код:
foreach (DataControlField col in gridReviews.Columns)
{
if (col.HeaderText == "Name")
{
col.Visible = false;
}
}
Можно ли показать/скрыть столбец GridView во время выполнения по имени?
Я могу сделать это через индекс, как показано ниже:
gridReviews.Columns[4].Visible = false;
Однако я хотел бы сделать следующее:
gridReviews.Columns["Name"].Visible = false;
Какой лучший способ сделать это?
Вы можете использовать для него следующий код:
foreach (DataControlField col in gridReviews.Columns)
{
if (col.HeaderText == "Name")
{
col.Visible = false;
}
}
Вы можете получить доступ к gridview по имени столбца косвенно, если вы можете получить доступ к данным, которые вы использовали для привязки gridview, а столбцы gridview находятся в том же порядке, что и datatable (и AutoGenerateColumns = false):
//Make ID column invisible by column name
gv.Columns[dt.Columns[ID].Ordinal].Visible = false;
Всегда используйте (если можете) имя столбца при доступе к столбцу в gridview, datatable и т.д. для удобства чтения. это также будет полезно при изменении порядка столбцов в gridview.
В противном случае оба варианта прекрасны.