网格视图页脚未显示
Posted
技术标签:
【中文标题】网格视图页脚未显示【英文标题】:Grid view footer not showing 【发布时间】:2019-03-09 05:51:36 【问题描述】:我正在从一个数组列表构建一个网格视图,并希望在底部包含一个页脚。
这是我的 C# 代码
gvOrder.DataSource = orderItemList;
gvOrder.DataBind();
gvOrder.ShowFooter = true;
gvOrder.Columns[0].FooterText = "Totals:";
gvOrder.Columns[2].FooterText = Convert.ToString(quantity);
gvOrder.Columns[4].FooterText = Convert.ToString(priceTotal);
这是我的asp代码
<asp:GridView ID="gvOrder" runat="server" AutoGenerateColumns="False" ShowFooter="True">
<Columns>
<asp:BoundField DataField="ItemTitle" HeaderText="Title" />
<asp:BoundField DataField="ItemFormat" HeaderText="Format" />
<asp:BoundField DataField="ItemQuantity" HeaderText="Quantity" />
<asp:BoundField DataField="ItemPrice" HeaderText="Price" />
<asp:BoundField DataField="ItemTotal" HeaderText="Total" />
</Columns>
</asp:GridView>
【问题讨论】:
【参考方案1】:事情的顺序很重要。您必须在调用 DataBind()
之前设置页脚值。
gvOrder.Columns[0].FooterText = "Totals:";
gvOrder.Columns[2].FooterText = Convert.ToString(quantity);
gvOrder.Columns[4].FooterText = Convert.ToString(priceTotal);
gvOrder.DataSource = orderItemList;
gvOrder.DataBind();
gvOrder.ShowFooter = true;
但如果您指定页脚单元格而不是列,则可以在 DataBind 之后设置页脚行的值。
gvOrder.FooterRow.Cells[1].Text = "After DataBind";
【讨论】:
我必须在数据绑定之前还是之后调用 ShowFooter?以上是关于网格视图页脚未显示的主要内容,如果未能解决你的问题,请参考以下文章