GridView增加合计栏

走出一条新道路 2014-03-19 09:29:38
如题,之前在网上也找过一些资料,有两种方式:
1、直接在数据源里面合计然后绑定
2、操作DataTable
不过这两种方式是针对只有一个合计栏的情况,现在我纠结的是如果有多个合计栏该怎么整?而且不能在SQL里面写,格式如下:
类型 数量 单价
服务器 2 15000
服务器 1 22000
合计 3 37000
路由器 1 125
合计 1 125

就是这种有多个合计栏的情况,该怎么整?行遍历添加吗?但是我还有合并单元格的情况,就是说实际我的格式是这样:
类型 数量 单价
2 15000
服务器 1 22000
合计 3 37000
路由器 1 125
合计 1 125


服务器那块实现了合并单元格
...全文
203 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
解决了,最后利用SQL重新定义了一个DataTable作为数据源去绑定了,编辑时绑定原先的数据源,谢谢各位
  • 打赏
  • 举报
回复
引用 6 楼 z_dota 的回复:
数据都出来了 我看你上面也就合并个单元格啊
我是举个例子,我数据源里面没有合计这一栏
Dotar 2014-03-19
  • 打赏
  • 举报
回复
数据都出来了 我看你上面也就合并个单元格啊
  • 打赏
  • 举报
回复
前台测试输出合计
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script>
$(function(){
	var count=0,price=0,production='';
	$("table tr").each(function(index, element) {
        if($(this).has('td').length>0)
		{
			var td1=$(this).find('td:eq(0)');
			var td2=$(this).find('td:eq(1)');
			var td3=$(this).find('td:eq(2)');
			if(td1.html()=='合计')
			{
				td2.html(count);
				td3.html(price);
				
			}
			else
			{
				if(td1.html()!=production)
				{
					production=td1.html();
					count=parseFloat(td2.html())||0;
					price=parseFloat(td3.html())||0;
				}
				else
				{
					count+=parseFloat(td2.html())||0;
					price+=parseFloat(td3.html())||0;
				}
			}
		}
    });
})
</script>
</head>

<body>
<table>
	<tr>
    	<th>类型</th>
        <th>数量</th>
        <th>单价</th>
    </tr>
	<tr>
    	<td>服务器</td>
        <td>1</td>
        <td>2000</td>
    </tr>
    <tr>
    	<td>服务器</td>
        <td>1</td>
        <td>3000</td>
    </tr>
    <tr>
    	<td>合计</td>
        <td></td>
        <td></td>
    </tr>
    <tr>
    	<td>路由器</td>
        <td>2</td>
        <td>2000</td>
    </tr>
    <tr>
    	<td>路由器</td>
        <td>3</td>
        <td>3000</td>
    </tr>
    <tr>
    	<td>合计</td>
        <td></td>
        <td></td>
    </tr>
    <tr>
    	<td>交换机</td>
        <td>2</td>
        <td>2000</td>
    </tr>
    <tr>
    	<td>交换机</td>
        <td>3</td>
        <td>3000</td>
    </tr>
    <tr>
    	<td>交换机</td>
        <td>3</td>
        <td>3000</td>
    </tr>
    <tr>
    	<td>合计</td>
        <td></td>
        <td></td>
    </tr>
</table>
</body>
</html>

insus 2014-03-19
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
求解啊,这个目前真心没思路
  • 打赏
  • 举报
回复
引用 1 楼 Return_false 的回复:
合计你完全可以用JS在来核算,既然数据都已经绑定出来了,也就是利用JS遍历表格 统计核算 然后显示在固定的位置即可
但是怎么添加到合适的位置?比如说我刚才说的那样的,直接Js在那位置插入表格?
  • 打赏
  • 举报
回复
合计你完全可以用JS在来核算,既然数据都已经绑定出来了,也就是利用JS遍历表格 统计核算 然后显示在固定的位置即可

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧