请问我用数据控件获取到有关数据后,我还想在数据表的最后一行相应的列上求和显示出来应该怎么做?我知道是用select sum(字段) from 表来取得,我就是不知道怎么样在查询的时候同时显示出来在最后一行。
   请各位朋友帮忙!

解决方案 »

  1.   

    1 使用UNION all 将两个查询结果连起来select code,name money from  aa
    union all
    select '','' sum(money) money from aa
    2 不使用查询语句,在表格中显示完数据后,再增加一行,显示合计。(合计需要程序计算)
    建议使用第二种方法。
      

  2.   

    呵呵,查询出来后 用这个办法就可以合计每列了
                 
    if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
                    { //计算总额
                                           
                        //DataTable dt = null;
                        //if (resultGrid.DataSource.GetType().Name.ToUpper() == "DATATABLE")
                        //    dt = (DataTable)(resultGrid.DataSource);
                        //else if (resultGrid.DataSource.GetType().Name.ToUpper() == "DATAVIEW")
                        //    dt = ((DataView)(resultGrid.DataSource)).Table;
                        if (e.Item.Cells[3].Text.Replace(" ", "") != "")
                            moneys += double.Parse(e.Item.Cells[3].Text);
                        if (e.Item.Cells[4].Text.Replace(" ", "") != "")
                            rMoneys += double.Parse(e.Item.Cells[4].Text);
                        if (e.Item.Cells[5].Text.Replace(" ", "") != "")
                            hospitalredeem += double.Parse(e.Item.Cells[5].Text);
                        if (e.Item.Cells[6].Text.Replace(" ", "") != "")
                            fundredeem += double.Parse(e.Item.Cells[6].Text);
                        if (e.Item.Cells[7].Text.Replace(" ", "") != "")
                            secondredeem += double.Parse(e.Item.Cells[7].Text);
                        if (e.Item.Cells[8].Text.Replace(" ", "") != "")
                            mzredeem += double.Parse(e.Item.Cells[8].Text);
                        if (e.Item.Cells[9].Text.Replace(" ", "") != "")
                            cashmoneys += double.Parse(e.Item.Cells[9].Text);
                        if (e.Item.Cells[10].Text.Replace(" ", "") != "")
                            kouchumoney += double.Parse(e.Item.Cells[10].Text);
                        if (e.Item.Cells[11].Text.Replace(" ", "") != "")
                            jsmoney += double.Parse(e.Item.Cells[11].Text);
                            
      }
                    if (e.Item.ItemType == ListItemType.Footer) 
                     {
                    
                        e.Item.Cells[2].Text = "合计";
                        e.Item.Cells[3].Text = moneys.ToString("#,##0.00");
                        e.Item.Cells[4].Text = rMoneys.ToString("#,##0.00");
                        e.Item.Cells[5].Text = hospitalredeem.ToString("#,##0.00");
                        e.Item.Cells[6].Text = fundredeem.ToString("#,##0.00");
                        e.Item.Cells[7].Text = secondredeem.ToString("#,##0.00");
                        e.Item.Cells[8].Text = mzredeem.ToString("#,##0.00");
                        e.Item.Cells[9].Text = cashmoneys.ToString("#,##0.00");
                        e.Item.Cells[10].Text = kouchumoney.ToString("#,##0.00");
                        e.Item.Cells[11].Text = jsmoney.ToString("#,##0.00");
                    }
             }
            
      

  3.   

    简写为:
    if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem)) 
    {
    ......
    }
    if (e.Item.ItemType == ListItemType.Footer) 
    {
    ......
    }