Подтвердить что ты не робот

Скрыть столбец GridView по имени во время выполнения в ASP.Net

Можно ли показать/скрыть столбец GridView во время выполнения по имени?

Я могу сделать это через индекс, как показано ниже:

gridReviews.Columns[4].Visible = false;

Однако я хотел бы сделать следующее:

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

Какой лучший способ сделать это?

4b9b3361

Ответ 1

Вы можете использовать для него следующий код:

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

Ответ 2

Вы можете получить доступ к gridview по имени столбца косвенно, если вы можете получить доступ к данным, которые вы использовали для привязки gridview, а столбцы gridview находятся в том же порядке, что и datatable (и AutoGenerateColumns = false):

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

Ответ 3

Всегда используйте (если можете) имя столбца при доступе к столбцу в gridview, datatable и т.д. для удобства чтения. это также будет полезно при изменении порядка столбцов в gridview.

В противном случае оба варианта прекрасны.