我需要设置第一列宽度的最大大小,但不是设置。同时将更多数据扩展。
<div style="width:640px">
<table style="width:640px">
<asp:GridView ID="gvChallan" runat="server" AutoGenerateColumns="false" HeaderStyle-BackColor="#cccccc" Width="646px" >
<HeaderStyle Width="222px" />
<Columns>
<asp:BoundField DataField="itemsdescription" HeaderText="Items/ Description" HtmlEncode="false" HeaderStyle-Width="222px" />
<asp:BoundField DataField="Quantity" HeaderText="QTY" ItemStyle-Width="10%" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="center" />
<asp:BoundField DataField="TotalBoxes" HeaderText="Total Boxes" ItemStyle-Width="10%" ItemStyle-Wrap="false" ItemStyle-HorizontalAlign="center" />
</Columns>
</asp:GridView>
</table>
</div>
答案 0 :(得分:0)
使用HeaderStyle-Width
代替ItemStyle-Width
,如下所示。同时设置网格本身的全宽
<asp:BoundField DataField="itemsdescription" HeaderText="Items/ Description" HtmlEncode="false" HeaderStyle-Width="222px" />
答案 1 :(得分:0)
首先为什么你有<table style="width:640px">
? <asp:GridView>
会在表标记上生成它,您将使用此方法创建警告/问题。
您已经使用div标签定义了您希望它占用的宽度。因此,您不需要为GridView指定相同的值。将GridView的宽度设置为100%。将您的第一列设置为80%。因此,您的列宽为80%,10%和10%。
答案 2 :(得分:0)
您必须为所有列定义宽度,以便尊重这些值;例如,对于三列网格,请在gridview的 RowDataBound 事件中尝试此操作:
protected void yourGrid_RowDataBound(object sender, GridViewRowEventArgs e)
{
e.Row.Cells[0].Style.Value = "min-width:640px;";
e.Row.Cells[1].Style.Value = "min-width:200px;";
e.Row.Cells[2].Style.Value = "min-width:150px;";
}
希望这有助于某人。