【问题标题】: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>

【问题讨论】:

    标签: c# asp.net gridview footer


    【解决方案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?
    猜你喜欢
    • 2014-02-07
    • 1970-01-01
    • 2014-04-14
    • 2013-02-18
    • 1970-01-01
    • 1970-01-01
    • 2014-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多