Проблема с изменением ширины столбца gridview - PullRequest
0 голосов
/ 15 февраля 2010

У меня есть привязка данных с привязкой к сетке, и я хочу изменить ширину столбца. Это код, который я использую:

DataTable aTable = new DataTable("Words"); 
aTable.Columns.Add("word");

GridView1.DataSource = aTable;
DataRow a = aTable.NewRow();
a[0] = "test";
aTable.Rows.Add(a);
GridView1.DataBind();

GridView1.Columns[0].ItemStyle.Width = Unit.Pixel(200);

Когда выполнение достигает последней строки, оно выдает ошибку, сообщающую, что столбец с индексом 0 не найден, однако он находится в таблице данных и отображается на веб-странице.

Почему вид сетки не видит столбец и есть ли способ обойти это?

Ответы [ 2 ]

0 голосов
/ 15 февраля 2010

Количество столбцов всегда будет 0, если вы явно не определите <columns> в своем виде сетки.

Вы автогенерируете. Так что используйте <columns> с <asp:BoundField DataField="word" />, и оно будет работать.

0 голосов
/ 15 февраля 2010

Я бы попробовал поместить это в событие prerender вида сетки. Возможно, вы пытаетесь сделать это не в том месте.

РЕДАКТИРОВАТЬ Попробуйте добавить это до вашего заявления:

if(GridView1.Columns.Count > 0)
//do stuff here
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...