更改gridview列宽度的问题

时间:2010-02-15 17:29:41

标签: asp.net gridview

我有一个用gridview绑定的数据表,我想改变列宽。 这就是我使用的代码:

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的列,而是它在数据表中,并显示在网页中。

为什么gridview没有看到该列,是否有办法解决这个问题?

2 个答案:

答案 0 :(得分:0)

我会尝试将其放在网格视图的预呈现事件中。您可能正试图在错误的位置执行此操作。

编辑尝试在声明之前添加此内容:

if(GridView1.Columns.Count > 0)
//do stuff here

答案 1 :(得分:0)

除非您在gridview中明确定义<columns>,否则列数始终为0。

你正在自动生成。因此,将<columns><asp:BoundField DataField="word" />一起使用即可。