代码之家  ›  专栏  ›  技术社区  ›  Jacob Nelson

无法在RowDataBound上设置GridView行宽度

  •  0
  • Jacob Nelson  · 技术社区  · 14 年前

    我当前尝试为网格视图上的行设置宽度的代码是:

    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 回复  |  直到 14 年前
        1
  •  0
  •   Matti Virkkunen    14 年前

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

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