需要以编程方式在asp.net中设置gridview的列宽。 **自动生成的列(即,AutogenerateColumns =“true”)。
我尝试了以下内容;
protected void gv_RowCreated(object sender, GridViewRowEventArgs e)
{
e.Row.Cells[2].Width = Unit.Pixel(200);
}
但没有用。
提前致谢
答案 0 :(得分:7)
这是我在aspx文件上的GridView1
<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>
这是我在codebehind中以编程方式设置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;
}