手记

如何在GridView的Footer内显示总计

前台:

<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" 
OnRowDataBound="GridView1_RowDataBound" 
ShowFooter="true">
<Columns>
<asp:TemplateField>
<ItemTemplate>
    <asp:Label ID="labelfirst" runat="server" Text='<%# Eval("first") %>'></asp:Label>
</ItemTemplate>
<FooterTemplate>
    <asp:Label id="labelAll" runat="server" Text="总计:"></asp:Label>
</FooterTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>


后台:

private int num = 0;
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        DataRowView dr = e.Row.DataItem as DataRowView;
        num += Convert.ToInt32(dr.Row["first"]);
    }
    else if (e.Row.RowType == DataControlRowType.Footer)
    {
       Label LabelAll =  e.Row.FindControl("labelAll") as Label;
       if (LabelAll != null)
       {
           LabelAll.Text += num.ToString();//"计算的总数,或者也可以单独计算";//
       }
    }
}

"first"是数据源的一个字段

0人推荐
随时随地看视频
慕课网APP