Gridview делает колонку невидимой - PullRequest
2 голосов
/ 17 июня 2010

Привет, у меня есть вид сетки, который динамически генерируется через C # с использованием DataSet. Я передаю поле идентификатора строки (из базы данных) в представление сетки, поскольку это требуется, когда пользователь щелкает, чтобы редактировать записи. Однако я не хочу, чтобы пользователь мог просматривать столбец. Я пробовал следующее, но это не похоже на работу? Может ли кто-нибудь предложить способ скрыть столбец или лучший способ прикрепить информацию к строке вида сетки, чтобы ее можно было использовать на более позднем этапе. с #

        DataColumn ColImplantCustomerDetailsID = new DataColumn();
        ColImplantCustomerDetailsID.ColumnName = "Implant ID";
        ColImplantCustomerDetailsID.DataType = typeof(int);
        ColImplantCustomerDetailsID.Visable = false; <-- visable doens't work here.

asp.net

Ответы [ 5 ]

4 голосов
/ 17 июня 2010

DataColumn не имеет свойства Visable.Черт, у него тоже нет свойства Visible.

Используйте это перед привязкой

gridviewNameHere.Columns[index].Visible = false;

Вы можете сделать его снова видимым на одном из ваших обработчиков событий.

4 голосов
/ 17 июня 2010

Другой вариант, а не скрытие столбца, заключается в использовании свойства DataKeyNames GridView для хранения имени поля идентификатора.Затем вы можете использовать myGridView.SelectedValue для получения выбранного идентификатора.

2 голосов
/ 17 июня 2010

Используйте индекс столбца, чтобы скрыть его при инициализации ...

grid.Columns[index].Visible = false;

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

1 голос
/ 17 июня 2010

Доступ к невидимым столбцам GridView

http://www.highoncoding.com/Articles/178_Access_GridView_Invisible_Columns.aspx

0 голосов
/ 24 апреля 2012

В событии OnRowDataBound компонента GridView:

// c# 
protected void gv_RowDataBound(object sender, GridViewRowEventArgs e)
{
    int index = 0; // put the index of the column you need hide.
    e.Row.Cells[index].Visible = false;  
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...