主表当中明细表字段的金额计算问题,操作控件是在gridview+aspnetPage
2013-08-06 10:54
190 查看
做这个例子,主要是我在工作当中遇到一个主表的明细表的操作计算问题,也用了不少时间。操作计算的方式是这样的。
这个功能是在.net语言当中实现,操作过程当点击添加行,添加第一行时,当我输入金额的时候,累积支付=金额,当点击添加行时,如果是第二行,输入金额,累积支付=第二行金额+第一行的累积支付,如果是第三行,输入金额,累积支付=第三行金额+第二行的累积支付,如图。
这个其实最主要的是控件的值获取问题,当金额控件的光标移开时,如果是第一行就直接赋值就ok,但是在第二行。。。。第n行时如何将最后一个文本框累计支付=第一行金额+第n行的累计支付,于是我就想如何在js里面可以在我移开最后一个金额文本框的时候获取前面所有的控件id,然后在js里面分割获取document.getElementById("xx").value,具体js如下
做到这里的话,接下来计算就容易了。
例子源码
这个功能是在.net语言当中实现,操作过程当点击添加行,添加第一行时,当我输入金额的时候,累积支付=金额,当点击添加行时,如果是第二行,输入金额,累积支付=第二行金额+第一行的累积支付,如果是第三行,输入金额,累积支付=第三行金额+第二行的累积支付,如图。
这个其实最主要的是控件的值获取问题,当金额控件的光标移开时,如果是第一行就直接赋值就ok,但是在第二行。。。。第n行时如何将最后一个文本框累计支付=第一行金额+第n行的累计支付,于是我就想如何在js里面可以在我移开最后一个金额文本框的时候获取前面所有的控件id,然后在js里面分割获取document.getElementById("xx").value,具体js如下
//objJE为金额,objLJ为累计支付字段,objBL为累计支付比例 function _doCal(objJE, objLJ, objBL) { var je = 0; //当数据为第一行的时候 if (objJE.indexOf(";") == -1) { if (document.getElementById(objJE).value != "") { je = parseFloat(document.getElementById(objJE).value); } } else { var arrJE = objJE.split(";"); for (var i = 0; i < arrJE.length; i++) { if (document.getElementById(arrJE[i]).value != "") { je += parseFloat(document.getElementById(arrJE[i]).value); } } } //获取金额 document.getElementById(objLJ).value = je; //变更调整总价 var _htgbhzj = document.getElementById("<%=txt_bgzj.ClientID %>").value; // 总支付比例 = 累计支付额 / 变更调整总价 document.getElementById(objBL).value = (je / _htgbhzj).toString(); }
做到这里的话,接下来计算就容易了。
例子源码
相关文章推荐
- 解决ASP 2.0中GridView控件的删除、插入、编辑命令操作客户端确认问题的另一方法
- 解决ASP 2.0中GridView控件的删除、插入、编辑命令操作客户端确认问题的另一方法
- 在ASP.NET 2.0中操作数据之十二:在GridView控件中使用TemplateField
- 改個名字再發一次--本例運用了javascript,html控件,服务器控件,最重要的就是javascript对空间的操作--GridView套GridViewtao--- 利用GridView显示主细表并一次编辑明细表所有数据的例子
- ASP.NET GridView控件固定表头(适用于IE浏览器,css操作)
- 在ASP.NET 2.0中操作数据:在GridView控件中使用TemplateField
- 获取Asp.net GridView控件当中总的记录数量
- 在GridView控件中添加相关的操作字段/操作按钮
- 改造asp.net日历控件为弹出式日期选择控件和GridView呈现长文本字段的两个技巧
- ASP.NET控件GridView的使用& Xml操作注意事项
- Asp .NET使用控件常见问题大全(设计时选中、Button、TextBox、DropDownList、GridView、UpdatePanel 等)
- 在ASP.NET 2.0中操作数据之五十:为GridView控件添加Checkbox
- 改造asp.net日历控件为弹出式日期选择控件和GridView呈现长文本字段的两个技巧
- 在ASP.NET中使用ObjectDataSource数据控件和GridView操作数据
- 常量,字段,构造方法 调试 ms 源代码 一个C#二维码图片识别的Demo 近期ASP.NET问题汇总及对应的解决办法 c# chart控件柱状图,改变柱子宽度 使用C#创建Windows服务 C#服务端判断客户端socket是否已断开的方法 线程 线程池 Task .NET 单元测试的利剑——模拟框架Moq
- 在ASP.NET 2.0中操作数据之四十九:为GridView控件添加RadioButton
- ASP.NET 2.0中用Gridview控件操作数据
- asp.net的Gridview控件没有dock属性,如何调整自适应宽度问题
- ASP.NET 2.0/3.5中直接操作Gridview控件插入新记录
- ASP.NET的控件Gridview在Firefox中的Border显示问题