无法在RowDataBound上设置GridView行宽

时间:2010-07-26 18:31:58

标签: c# asp.net

我目前尝试为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();

1 个答案:

答案 0 :(得分:0)

...为什么要在数据绑定事件中设置宽度?只需在数据绑定之前设置它们(使用DataGrid的Columns属性)。

无论如何,在数据绑定事件中设置它们都是愚蠢的,因为不同行的宽度可能不同。