我有一个GridView,希望它的宽度保持在100%。它在设计视图中看起来很好,所以我假设一些关于与SqlDataAdapter绑定的东西会重置宽度以适应数据,但我希望它保持在100%。宽度最终成为支持绑定数据所需的任何东西。
我对这一切都不熟悉,所以我相信你们所有人的答案都会比对我更明显。
<div id="X" class="In-lineControl" style="width:100%">
<asp:GridView ID="XGV" runat="server" CssClass="GridView" BorderStyle="Groove">
<AlternatingRowStyle BackColor="#B4C2E0" />
<HeaderStyle BackColor="#6C88C4" ForeColor="White" />
</asp:GridView>
</div>
XData.SelectCommand = cmd;
DataTable XDT = new DataTable();
XData.Fill(XDT);
XGV.DataSource = XDT;
XGV.DataBind();
.GridView{
width:100%;
}
.In-lineControl{
display:block;
margin-top: 5px;
margin-bottom: 10px;
}
答案 0 :(得分:1)
您应该检查CssClass GridView
并查看是否设置了宽度。
答案 1 :(得分:0)
我建议您根据数据源在网格中定义绑定列和字段,并为每个列提供宽度。
<asp:GridView AutoGenerateColumns="false">
<Columns>
<asp:BoundField ControlStyle-Width="25%"></asp:BoundField>
</Columns>
</asp:GridView>
默认情况下,AutoGeneratedColumns为true,因此当您绑定到数据时,它似乎会根据其中的数据调整每个列的大小。因此,调整整个网格的大小。
答案 2 :(得分:0)
在DataBind修复问题后,将CssClass应用于后面代码中的GridView。
背后的代码最终看起来像这样:
XData.SelectCommand = cmd;
DataTable XDT = new DataTable();
XData.Fill(XDT);
XGV.DataSource = XDT;
XGV.DataBind();
XGV.CssClass = "GridView";