if (e.Row.RowIndex >= 0)
        {
            sum1 += Convert.ToInt32(e.Row.Cells[2].Text);
            sum2 += Convert.ToInt32(e.Row.Cells[3].Text);
                                
        }
        else 
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            e.Row.Cells[0].Text = "总分數为:";
            e.Row.Cells[2].Text = s1.ToString();
            e.Row.Cells[3].Text = s2.ToString();          
        }
這樣做的話,如果GridView分頁了就只能求每一頁的總和,但是我想求所的數據的和,譔怎麼做?先謝謝了

解决方案 »

  1.   

    所有数据的总和在sql中求.
    如果你的datasource是用的表,而表中的数据又没有分页的话,用表来求.
      

  2.   

    給小弟一個簡單例子啊,我不想在sql中求和,我用footer顯示sum
      

  3.   

    在数据里分页的话 就在数据库里求  count(*)
    如果 一次都取出来 放在datatable里 就.rows.count呗
      

  4.   

    用全局变量吧
    private int sum1 = 0 ;
    private int sum2 = 0 ;
    private DataTable mainDT = new DataTable() ;
    在dataGrid的dataBind()里, 在获取到数据源之后,绑定之前加入
    for( int i = mainDT.Rows.Count -1 ; i > -1 ; i -- )
    {
        sum1 += Convert.ToInt16( mainDT.Rows[i][2].ToString());
        sum2 += Convert.ToInt16( mainDT.Rows[i][3].ToString());
    }dataGrid的ItemDataBound事件中
    加入你上面写的,后面的一部分代码即可。
    唉,爆汗啊,竟然要这样做。
      

  5.   

    用全局变量吧
    private int sum1 = 0 ;
    private int sum2 = 0 ;
    private DataTable mainDT = new DataTable() ;
    在dataGrid的dataBind()里, 在获取到数据源之后,绑定之前加入
    for( int i = mainDT.Rows.Count -1 ; i > -1 ; i -- )
    {
        sum1 += Convert.ToInt16( mainDT.Rows[i][2].ToString());
        sum2 += Convert.ToInt16( mainDT.Rows[i][3].ToString());
    }dataGrid的ItemDataBound事件中
    加入你上面写的,后面的一部分代码即可。
    ________________________________________
    這樣也不行啊
      

  6.   

    這樣做總分數為:不顯示在footer
      

  7.   

    但是我們需要它顯示在footer里啊
      

  8.   

    Help me!各位高手,搞不定了!
      

  9.   

    給小弟一個簡單例子啊,我不想在sql中求和,我用footer顯示sum
    =========================
    如果分页了,你还是想显示所有数据的总和,那人家看到后是不是会有一种错觉?
    如:一共五条数据,某一个总和假如为50,每三条一分页的话,照你说的想法,是第一页和第二页的页脚都要显示50.如果要求是这样的话:
    就在sql中写一个求所有总和的列,select *,(select count(*) from ? where ?) as [Sum] from ?? where ??在你绑定时,页脚里绑定[Sum]这个字段就行了,无论你怎么分页,都会显示所有的总和.