ASP.NET GridView не может скрыть столбцы - PullRequest
1 голос
/ 14 января 2011

Итак, у меня есть <asp:Gridview>, и в моем файле C # я устанавливаю источник данных для некоторой таблицы базы данных и выполняю .DataBind ().

Однако я хочу скрыть столбец в таблице на основе логической переменной.

Примерно так:

gridview.Columns['Field5'].Visible = false;

Или, возможно:

int c = gridview.Rows.Count();
for(int i = 0; i < c; i++){
  gridview.Rows['Field5'].Remove();
}

Возможно, я не могу сделать его невидимым, но я уверен, что смогу хотя бы пройтись по нему и удалить все строки, относящиеся к столбцу "field5". Я не знаю, как это сделать.

Возможно, кто-нибудь имеет надлежащую ссылку на использование класса GridView и как предполагается использовать все методы, потому что это неясно, возможно, не написано в Microsoft?

Извините, если это упрощенно, в Интернете, похоже, отсутствует много документации по C # (или, возможно, он просто перегружен слишком большим количеством бесполезной информации ASP.net).

Ответы [ 4 ]

6 голосов
/ 14 января 2011

Нет проблем, уловка в том, что вы должны ссылаться на столбец по его индексу, а не по его имени.

grid.Columns[1].Visible = false;
1 голос
/ 09 июля 2012

Я нашел хороший способ сделать что-то подобное.

((DataControlField)gridView.Columns
           .Cast<DataControlField>()
           .Where(fld => (fld.HeaderText == "Title"))
           .SingleOrDefault()).Visible = false;

Я нашел это по ссылке ниже

GridView Скрыть столбец по коду

1 голос
/ 14 января 2011

В вашем случае вы должны просмотреть цикл сетки и установить ячейки, которые хотите скрыть Visible=false

        foreach (GridViewRow gvr in gv.Rows)
        {
            //here specify cell you want to hide  
            //also you may put any conditions
            gvr.Cells[0].Visible = false; // Hide cell
        }

Чтобы скрыть столбец, вы должны сделать следующее:

        //here specify column you want to hide  
        grv.Columns[0].Visible = false; // Hide column

Также проверьтеэта статья http://www.codeproject.com/KB/webforms/Datagrid_Col_Example.aspx

0 голосов
/ 14 января 2011

Сетка очень удобна, если вы просто хотите быстро отобразить некоторые данные, но не нуждаетесь в их изменении. Однако, если вы хотите настроить его, это непрактично. Проще и быстрее создавать таблицу динамически в вашем коде, и вы получаете весь необходимый контроль.

Посмотрите первый ответ на этот пост: Как показать всплывающее меню из базы данных в виде сетки для каждого элемента строки сетки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...