2

需要以编程方式在 asp.net 中设置 gridview 的列宽。** 自动生成的列(即 AutogenerateColumns = "true")。

我尝试了以下方法;

protected void gv_RowCreated(object sender, GridViewRowEventArgs e)
{
    e.Row.Cells[2].Width = Unit.Pixel(200);
}

但没有用。

4

1 回答 1

7

这是我GridView1的 aspx 文件

<asp:GridView ID="GridView1" runat="server" AllowSorting="True" 
Font-Size="Small" Width="800px" OnRowDataBound="GridView1_RowDataBound" > 

        <Columns>
                <asp:CommandField SelectText="Seç" ShowSelectButton="True"/>
        </Columns>

</asp:GridView>

这是我在代码隐藏中以编程方式设置 GridView 的列宽的地方。它实际上是关于设置单元格的宽度,但它控制列宽,所以这是一种方式。如您所见,我没有AutogeneratedColumns="True",但我认为这并不重要因为GridView.RowDataBound当数据行绑定到数据时发生。

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{ 
     e.Row.Cells[1].Width = 1;
     e.Row.Cells[0].Width = 1;
     e.Row.Cells[4].Width = 75;
     e.Row.Cells[5].Width = 1;                
}
于 2012-06-11T13:03:31.093 回答