您的位置:首页 > 其它

GridView添加统计(合计)行

2012-10-18 09:12 267 查看


GridView添加统计(合计)行

前提:设置属性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事件中运算)


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();


}


}

#1楼 2007-07-16
16:56

第二种方法必须设置allowpaging为false,不可以分页,否则就是本页的条数了。

转载地址:


/article/4808402.html

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: