在一个GridView中组合MYSQL查询

时间:2013-11-20 18:43:10

标签: c# mysql asp.net gridview

我有一个GridView显示来自MYSQL数据库的一些数据。我想展示所有捐款,并在底部有Total_Donations。

我似乎可以做任何一种,但不能同时做到。

有谁知道怎么做?

我的代码(显示所有捐款)

 MySqlCommand cmd = new MySqlCommand("SELECT Donation FROM Customer", cs);
            cs.Open();
            MySqlDataReader dgl = cmd.ExecuteReader();
            dg.DataSource = dgl;
            dg.DataBind();
            cs.Close();

我的代码(显示总数)

 MySqlCommand cmd = new MySqlCommand("SELECT SUM(Donation) AS Total_Donation FROM Customer", cs);
        cs.Open();
        MySqlDataReader dgl = cmd.ExecuteReader();
        dg.DataSource = dgl;
        dg.DataBind();
        cs.Close();  

任何方式显示所有捐款,然后总计在底部?即使我必须将它放在标签中,尽管在同一张表中也是最好的。

1 个答案:

答案 0 :(得分:0)

您可以在GridView中显示FooterRow:

dg.ShowFooter = True;

然后,您只需将其中一个单元格设置为您从数据库中获得的总值:

dg.FooterRow.Cells[0].Text = totalDonations;

其中“totalDonations”是您从数据库中查询的值。

我会在GridView的DataBound事件中编写该代码。像这样:

protected void dg_DataBound(object sender, EventArgs e)
{
    MySqlCommand cmd = new MySqlCommand("SELECT SUM(Donation) AS Total_Donation FROM Customer", cs);
    cs.Open();
    string totalDonations = cmd.ExecuteScalar();
    cs.Close();
    dg.FooterRow.Cells[0].Text = totalDonations;
}