我想调整列宽  应该写在下面的哪里  怎么写
protected void Page_Load(object sender, EventArgs e)
{
         DataTable dt = createTable();
         DataRow dr = dt.NewRow();
         dt.Rows.Add(dr);
         this.GridView1.DataSource = dt;
         this.GridView1.DataBind();
}protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
              //这里写什么GridView1.Columns[0].ItemStyle.Width = 100;好像没用
        }
}public DataTable createTable()
{
        DataTable dt = new DataTable();
        dt.Columns.Add("姓名\\日期",typeof(string));
        for (int i =1;i<32;i++)
        {
            dt.Columns.Add(i.ToString(),typeof(string));
        }
        dt.Columns.Add("平均绩效", typeof(string));
        return dt;
}

解决方案 »

  1.   

    自动生成的列貌似没法改列宽.
    手动指定<Columns>吧
      

  2.   

    最好是在
    <asp:GridView ID="gvFunction" CssClass="EditUserTable" runat="server"  AutoGenerateColumns="False" > 
      <Columns>
         <asp:BoundField DataField="FunctionCode" HeaderText="功能代码" ReadOnly="True" >
              <ItemStyle CssClass="ItemTextLeft" Width="100px" /> </asp:BoundField>
      </Columns>
      <EmptyDataTemplate>
            没有数据
      </EmptyDataTemplate>
    </asp:GridView>
      

  3.   

    顶楼上的,或者RowCreated事件中写,不是在databound
      

  4.   

    dt.Columns.width之类的吧、只要动态列中,确定(定义了)一列,再对其赋宽,就行。
    最简单的写一个动态列的类,网上的这类代码很多。^0^