前提:设置属性ShowFooter="True"
方法一:
使用SQL查询统计出合计值,在绑定GridView时让其结果赋于一个DataTable(全局变量),然后在RowDataBound事件中

if (e.Row.RowType == DataControlRowType.Footer)
        
{
            e.Row.Cells[
0].Text = "合计";

            e.Row.Cells[
3].Text = dtSum.Rows[0][0].ToString();
            e.Row.Cells[
4].Text = dtSum.Rows[0][1
].ToString();
            e.Row.Cells[
5].Text = dtSum.Rows[0][2
].ToString();
            e.Row.Cells[
6].Text = dtSum.Rows[0][3].ToString();
            e.Row.Cells[
7].Text = dtSum.Rows[0][4
].ToString();
            e.Row.Cells[
8].Text = dtSum.Rows[0][5].ToString();
            e.Row.Cells[
9].Text = dtSum.Rows[0][6
].ToString();
            e.Row.Cells[
10].Text = dtSum.Rows[0][7
].ToString();
            e.Row.Cells[
11].Text = dtSum.Rows[0][8
].ToString();
        }

其中dtSum是那个全局DataTable,在绑定GridView同时将SQL查询的结果赋给它;效果如下:

方法二、直接把对应列每一行的值相加(不做数据查询,在RowDataBound事件中运算)

//注:必须先将ShowFooter属性设为true

 int mysum1 = 0;
    
int mysum2 = 0
;
    
protected void GridList_RowDataBound(object
 sender, GridViewRowEventArgs e)
    
{
        
if (e.Row.RowType ==
 DataControlRowType.DataRow )
        
{
            DataRowView myrows
=(DataRowView)e.Row.DataItem;

             //要统计计算和的列
            mysum1 
+=Convert .ToInt32 (myrows[2
].ToString ());
            mysum2 
+= Convert.ToInt32(myrows[3
].ToString());
        }

        
// 合计
        if (e.Row.RowType == DataControlRowType.Footer)
        
{

              //显示统计数的位置
            e.Row.Cells[
0].Text = "合计";
            e.Row.Cells[
1].Text =
 mysum1.ToString();
            e.Row.Cells[
2].Text = mysum2.ToString();

        }

 }

 

前提:设置属性ShowFooter="True"
方法一:
使用SQL查询统计出合计值,在绑定GridView时让其结果赋于一个DataTable(全局变量),然后在RowDataBound事件中

if (e.Row.RowType == DataControlRowType.Footer)
        
{
            e.Row.Cells[
0].Text = "合计";

            e.Row.Cells[
3].Text = dtSum.Rows[0][0].ToString();
            e.Row.Cells[
4].Text = dtSum.Rows[0][1
].ToString();
            e.Row.Cells[
5].Text = dtSum.Rows[0][2
].ToString();
            e.Row.Cells[
6].Text = dtSum.Rows[0][3].ToString();
            e.Row.Cells[
7].Text = dtSum.Rows[0][4
].ToString();
            e.Row.Cells[
8].Text = dtSum.Rows[0][5].ToString();
            e.Row.Cells[
9].Text = dtSum.Rows[0][6
].ToString();
            e.Row.Cells[
10].Text = dtSum.Rows[0][7
].ToString();
            e.Row.Cells[
11].Text = dtSum.Rows[0][8
].ToString();
        }

其中dtSum是那个全局DataTable,在绑定GridView同时将SQL查询的结果赋给它;效果如下:

方法二、直接把对应列每一行的值相加(不做数据查询,在RowDataBound事件中运算)

//注:必须先将ShowFooter属性设为true

 int mysum1 = 0;
    
int mysum2 = 0
;
    
protected void GridList_RowDataBound(object
 sender, GridViewRowEventArgs e)
    
{
        
if (e.Row.RowType ==
 DataControlRowType.DataRow )
        
{
            DataRowView myrows
=(DataRowView)e.Row.DataItem;

             //要统计计算和的列
            mysum1 
+=Convert .ToInt32 (myrows[2
].ToString ());
            mysum2 
+= Convert.ToInt32(myrows[3
].ToString());
        }

        
// 合计
        if (e.Row.RowType == DataControlRowType.Footer)
        
{

              //显示统计数的位置
            e.Row.Cells[
0].Text = "合计";
            e.Row.Cells[
1].Text =
 mysum1.ToString();
            e.Row.Cells[
2].Text = mysum2.ToString();

        }

 }

 

 

 

posted on 2011-02-18 15:42  高兴happy  阅读(239)  评论(0编辑  收藏  举报