我目前尝试为gridview上的行设置宽度的代码是:
protected void RowDataBound(Object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
foreach (DataControlFieldHeaderCell dcfhc in e.Row.Cells)
{
dcfhc.Width = 100;
}
}
else
{
foreach (DataControlFieldCell dcfc in e.Row.Cells)
{
dcfc.Width = 100;
}
}
}
但这只是保持所有宽度的默认值!我做错了什么?
编辑:我已经尝试过这个代码了!PoolToDBHeaders.DataSource = new DataView(headerTable);
PoolToDBHeaders.DataBind();
foreach (DataControlField dcf in PoolToDBHeaders.Columns)
{
dcf.ItemStyle.Width = 100;
}
PoolToDBHeaders.DataBind();
答案 0 :(得分:0)
...为什么要在数据绑定事件中设置宽度?只需在数据绑定之前设置它们(使用DataGrid的Columns
属性)。
无论如何,在数据绑定事件中设置它们都是愚蠢的,因为不同行的宽度可能不同。