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

我尝试了以下方法;

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


但没有用。

最佳答案

这是我在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>


这是我在代码隐藏中以编程方式设置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;
}

10-05 23:07
查看更多