1,在table上手工添加一空白列,
2,循环所有列,并在循环内累加
3,累加结果放在此空白列中
我以前这麽作过,可行,你研究研究

解决方案 »

  1.   

    可以的
    datacolumn.Expression="Count(列名)"//汇总类型
      

  2.   

    DataSet1.Tables("Orders").Columns("OrderCount").Expression = "Count(OrderID)"
      

  3.   

    设置Showfooter=true
    添加ItemDataBound事件处理
    在事件处理中,进行各种汇总:
    private void DataGridZF_ItemDataBound(object sender, DataGridItemEventArgs e)
    {
    switch((int)(e.Item.ItemType))
    {
    case (int)ListItemType.Item:
             case (int)ListItemType.AlternatingItem:
    if(e.Item.Cells[3].Text.Length>6)
    {
    e.Item.Cells[3].ToolTip=e.Item.Cells[3].Text;
    e.Item.Cells[3].Text=e.Item.Cells[3].Text.Substring(0,6)+"...";
    }
    if(e.Item.Cells[5].Text=="0")
    {
    e.Item.Cells[5].Text="未计价";
    }
    else
    {
    e.Item.Cells[5].Text="已计价";
    e.Item.Cells[7].Controls[0].Visible=false;
    e.Item.Cells[6].Controls[0].Visible=false;
    }
    break;
    case (int)ListItemType.Header:
    e.Item.Cells[0].Text="支付日期";
    e.Item.Cells[1].Text="支付金额";
    e.Item.Cells[2].Text="经办人";
    e.Item.Cells[3].Text="备注";
    e.Item.Cells[4].Text="章节ID";
    e.Item.Cells[5].Text="计价否";
    break;
    case (int)ListItemType.Footer:
    DataTable tb=(DataTable)Session["ZFLIST"];
    double je=0;
    for(int i=0;i<tb.Rows.Count;i++)
    {
    je+=Convert.ToDouble(tb.Rows[i]["je"]);
    }
    e.Item.Cells[0].Text="累计支付金额:";
    NumberFormatInfo nfi = new CultureInfo( "en-US", false ).NumberFormat;
    nfi.NumberDecimalDigits = 2;
    e.Item.Cells[1].Text=je.ToString("N", nfi);
    e.Item.Cells[2].Text="总价值";
    e.Item.Cells[3].Text=jz.Text;
    break;
    }
    }
      

  4.   

    temproom(temproom) :你讲的是asp.net的,我要的是windows form的谁能给一段代码看一看,谢谢