如何在动态网格视图中设置列宽?

时间:2015-06-08 05:29:47

标签: c# asp.net gridview

如何在动态网格视图中设置列宽?当AutoGenerateColumns =" true"

2 个答案:

答案 0 :(得分:0)

您需要像这样

更改gridview的RowDataBound事件
  protected void gvData_RowDataBound(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e)
   {
     if (e.Row.RowType == DataControlRowType.DataRow) {
       e.Row.Cells(0).Width = new Unit("200px");
       e.Row.Cells(1).Width = new Unit("500px");
   }
  }

您的加价

 <asp:GridView id="gvData" runat="server"                 
              OnRowDataBound="gvData_RowDataBound">
 </asp:GridView> 

默认情况下,autogeneratecolumn为false,因此无需指定autogeneratecolumn =&#34; true&#34;

答案 1 :(得分:0)

您可以使用serverside方法,如下所示:

private void GV_RowDataBound(object o, GridViewRowEventArgs e)
{        
   // apply custom formatting to data cells
   if (e.Row.RowType == DataControlRowType.DataRow)
   {
       // set formatting for the category cell
       TableCell cell = e.Row.Cells[0];
       cell.Width = new Unit("120px");
       cell.Style["border-right"] = "2px solid #666666";

       // set formatting for value cells
       for(int i=1; i<e.Row.Cells.Count; i++)
       {
            cell = e.Row.Cells[i];
            // right-align each of the column cells after the first
            // and set the width
            cell.HorizontalAlign = HorizontalAlign.Right;
            cell.Width = new Unit("90px");
            // alternate background colors
            if (i % 2 == 1)
                  cell.BackColor 
                      =  System.Drawing.ColorTranslator.FromHtml("#EFEFEF");
                  // check value columns for a high enough value
                  // (value >= 8000) and apply special highlighting
            }                    
        }

        // apply custom formatting to the header cells
        if (e.Row.RowType == DataControlRowType.Header)
        {
            foreach (TableCell cell in e.Row.Cells)
            {
                cell.Style["border-bottom"] = "2px solid #666666";
                cell.BackColor=System.Drawing.Color.LightGray;
            }
        }

    }
}

您的aspx页面

<asp:GridView id="myList" runat="server"
                  AutoGenerateColumns="true"
                  OnRowDataBound="GV_RowDataBound"
                  . . . 
                  >
</asp:GridView> 

有关详细信息,请查看 here