我在asp.net中使用gridview。当网格视图显示标题有一行时,它的标题太大。
但如果它有分页,它会正常显示标题。我不知道为什么。
任何帮助将不胜感激。
<asp:Panel ID="Panel2" runat="server" Height="310px" Width="100%" CssClass="mPanel" BorderStyle ="Groove">
<asp:GridView ID="gridViewResults" runat="server" Width = "100%"
AllowPaging = "true" OnPageIndexChanging="gridViewResults_PageIndexChanging"
CssClass="mGrid" OnSelectedIndexChanged="gridViewResults_SelectedIndexChanged"
Height="300px">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="chkSelect" runat="server" OnCheckedChanged="chkSelect_CheckedChanged" AutoPostBack="true" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</asp:Panel>
这是我的代码,我通过数据库绑定它..
答案 0 :(得分:2)
首先尝试这个
<HeaderStyle Width="10%" />
<RowStyle Width="10%" />
如果不能正常工作,那么在绑定gridview之后,对于所有列,从代码端开始工作
int cou = gdv.Columns.Count;
for (int i = 0; i < cou; i++)
{
gdvProReq.Columns[i].HeaderStyle.Width = 50;
gdvProReq.Columns[i].ItemStyle.Width = 50;
}
答案 1 :(得分:0)
默认情况下,GridView会自动调整其列的大小以适应最大的行...当您进行分页时,伸出标题的大行可能会移动到后面的一个页面。
您可以手动调整列的大小,以避免标题动态调整大小:
<Columns>
<asp:BoundField DataField="" HeaderText="" ItemStyle-Width="5%" />
<asp:BoundField DataField="" HeaderText="" ItemStyle-Width="25%" />
<asp:BoundField DataField="" HeaderText="" ItemStyle-Width="30%" />
<asp:BoundField DataField="" HeaderText="" ItemStyle-Width="25%" />
<asp:BoundField DataField="" HeaderText="" ItemStyle-Width="10%" />
</Columns>