GridView添加合计行的实现方案
2015-07-08 11:53
555 查看
前提:设置属性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();
}
}
方法一:使用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();
}
}
相关文章推荐
- WebRequest
- java安装及配置
- DFS PKU 1562
- Cocos2d-x编程中的runOnUiThread方法和runOnGLThread方法剖析
- 批量清除BOM头
- iOS使用Charles(青花瓷)抓包并篡改返回数据图文详解
- Android 中数据库查询方法 query() 中的参数
- Objective-C属性赋值过程
- json-lib 之jsonConfig详细使用
- webstrom常用快捷键
- Python查询阿里巴巴关键字排名的方法
- Winsock服务器内存资源管理
- 解决网页右侧空白的方法
- Java 多线程 并发编程
- hdu 4057 AC自动机+状态压缩dp
- SQLite header and source version mismatch解决
- Java 实现 SSH 协议的客户端登录认证方式
- linux下新建oracle数据库实例
- C++ 怎么取整形数组的长度
- 网络连接底层工具类,执行get和post请求(用于在一个项目中去对另外项目发出请求)