【玩转GridView】之Gridview对应行数值自动汇总
来源:互联网 发布:蚂蚁分类信息5.8 源码 编辑:程序博客网 时间:2024/04/30 15:24
前言:
这块的需求在上一篇博客(【玩转GridView】之让GridView动起来(一)】)中已提到,是嵌入gridview中文本框之间的一个求和。之前的做法是全部写在了后台代码中,后来测试提了bug—“嵌入的复制按钮需要双击才生效”,一直没明白是怎么导致的,后来经大神指点,调试发现是两个后台方法在回发的时候冲突,才出现这样的问题.
之后因开发新功能,这块bug留了两周左右,最近新功能开发完了,就和同事请教了一下,将这些实时变化的东西全放在了JS中.
问题:
随调整额和定额的变化,总额要随之实时变化.
首先遇到的问题是,如何在JS中获取嵌入Gridview中文本框的值?如何将对应一行的数据相加并赋值,还保证是同一行?
思路:
先获取点击那行的rowIndex,根据传的参数能获取当前文本框的value值;之后就若是修改调整额的话,需要获取定额值,再求两者之和,赋值给对应的调整总额.获取定额值时,先获取gridview的ID值,再用
getElementsByTagName("input")[index].value获取值. 赋值用相同的方式反着来就OK.
直接来看看代码就明白了.
代码:
//调整额改变时,总额实时变化 function Count(result) { //获取行号 var index = result.parentNode.parentNode.rowIndex; //获取修改的整额值 var adjvalue = result.value; //判断如果文本框为空时,直接返回不计算 if(isNaN(adjvalue) == true || adjvalue ==''){ return; } //获取定额值 if (index == 1) { var adjust = document.getElementById('<%= grvDetail.ClientID %>').getElementsByTagName("input")[0].value; } else { var adjust = document.getElementById('<%= grvDetail.ClientID %>').getElementsByTagName("input")[7 * (index - 1)].value; } var adjAllCost = parseFloat(adjvalue) + parseFloat(adjust); if (index == 1) { document.getElementById('<%= grvDetail.ClientID %>').getElementsByTagName("input")[index + 2].value = adjAllCost; } else { document.getElementById('<%= grvDetail.ClientID %>').getElementsByTagName("input")[index + (6 * index - 4)].value = adjAllCost; } }
效果图:
利用复制按钮时,自动汇总数据,是在后台方法中实现的(PS:详见博客【玩转GridView】之让GridView动起来(一)】);当调整额改变时,总额也随之变化。
总结:
当我们再去修改bug时,也就相当于是对功能的再次思考和认识.去看看是业务逻辑出问题了,还是代码写的不够严谨. 不管是什么方面,改Bug也是一种学习.
0 0
- 【玩转GridView】之Gridview对应行数值自动汇总
- [转]自动填充固定行数的 GridView
- 【玩转GridView】之让GridView动起来(一)
- 【玩转GridView】之让GridView动起来(二)
- 【玩转GridView】之隐藏域问题
- 【玩转GridView】之TemplateField模板
- 玩转gridview 1
- 玩转gridview 2
- 玩转GridView
- 自动填充固定行数的 GridView
- 自动填充固定行数的 GridView
- 自动填充固定行数的 GridView
- 自动填充固定行数的 GridView
- 自动填充固定行数的 GridView
- 自动填充固定行数的 GridView
- 自动填充固定行数的 GridView
- 【玩转GridView】之简单实现隐藏列
- gridview控制显示行数
- [iOS进阶]Reveal使用技巧
- copyder文件复制器
- 用javascript写一个前端等待控件
- svn服务器搭建和使用
- 64位系统vs2013配置opencv3.0
- 【玩转GridView】之Gridview对应行数值自动汇总
- iOS学习——FMDB详解
- Caffe学习记录:Cifar-10 自定义网络训练记录
- 安卓读取assets中的xml文件
- HDOJ 1157 Who's in the Middle
- CC学习笔记3:FIA类:标识和鉴别
- Tomcat重启负载高问题定位
- highcharts设置Y轴范围
- 关于我的第一篇博客