Set gridview column width programmatically in asp.net

asp.netdynamicgridviewsetwidth

Need to set the column width of a gridview in asp.net programmatically.
** Autogenerated Columns (i.e., AutogenerateColumns = "true").

I tried the following;

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

but no use.

Best Answer

This is my GridView1 on aspx file

<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>

This is where I set my GridView's column width programmatically in codebehind.It is actually about setting the cell's width but it controls the column width so this is a way.As you can see I do not have AutogeneratedColumns="True", though I do not think that would matter because GridView.RowDataBound occurs when a data row is bound to data.

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;                
}