1 使用UNION all 将两个查询结果连起来select code,name money from aa union all select '','' sum(money) money from aa 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);
union all
select '','' sum(money) money from aa
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");
}
}
if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
{
......
}
if (e.Item.ItemType == ListItemType.Footer)
{
......
}