EasyUI datagrid 明细表格中编辑框 事件绑定 及灵活计算 可根据此思路 扩展其他
原创 : EasyUI datagrid 明细表格中编辑框 事件绑定 及灵活计算 可根据此思路 扩展其他
转载,请注明出处哦!谢谢!
原创 : EasyUI datagrid 明细表格中编辑框 事件绑定 及灵活计算 可根据此思路 扩展其他 转载,请注明出处哦!谢谢! /******************************************************** 主要用于 明细表格 字段间的计算 Start ******************************************************/
/**
* 将 bindGridEvent() 函数 放在 明细表格,新增行 或 编辑 行事件之后调用即可,由于 每个业务表单的字段名称,及算法不一致,因此仅在单个模块中实现,其他模块需要可复制此代码进行修改
* @author WUYF
* @date 2014-03-22
*/ /**
* 绑定 表格 事件
* @author WUYF
*/
function bindGridEvent()
{
try
{
var objGrid = $("#customerStock"); // 表格对象
var invQtyEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex,field:'invQty'}); // 数量
var invSaleCostEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex,field:'invSaleCost'}); // 产品单价
var discountEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex,field:'discount'}); // 折扣额对象
var depositEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex, field:'deposit'}); // 折扣率对象
var invMoneyEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex, field:'invMoney'}); // 金额对象 // 数量 绑定 离开事件
$(invQtyEdt.target).bind("blur",function(){
calcMoney(); // 根据 数量或单价变更后计算 金额
}); // 单价 绑定 离开事件
$(invSaleCostEdt.target).bind("blur",function(){
calcMoney(); // 根据 数量或单价变更后计算 金额
}); // 折扣额 绑定 离开事件
$(discountEdt.target).bind("blur",function(){
calcDiscount(); // 根据 折扣额变更后 计算 折扣率
}); // 折扣率 绑定离开事件
$(depositEdt.target).bind("blur",function(){
calcDeposit(); // 根据 折扣率变更后 计算 折扣额
}); // 金额 绑定离开事件
$(invMoneyEdt.target).bind("blur",function(){
calcMoneyChange(); // 金额变更 后 重新计算 单价,折扣额,折扣率
}); }
catch(e)
{
alert(e);
}
} /**
* 金额变更 后 重新计算 单价,折扣额,折扣率
*/
function calcMoneyChange()
{
var objGrid = $("#customerStock"); // 表格对象
var invQtyEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex,field:'invQty'}); // 数量对象
var invSaleCostEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex,field:'invSaleCost'}); // 单价对象
var invMoneyEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex, field:'invMoney'}); // 金额对象
var discountEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex,field:'discount'}); // 折扣额对象 var invQtyValue = $(invQtyEdt.target).val(); // 数量 值
var invMoneyValue = $(invMoneyEdt.target).val(); // 金额 值
var invSaleCostValue = invMoneyValue / (invQtyValue*1.0); // 单价 值
var discountValue = $(discountEdt.target).val(); // 折扣额 值 $(invSaleCostEdt.target).numberbox("setValue",invSaleCostValue); // 给 单价 赋值 if( discountValue == 0){
$(discountEdt.target).numberbox("setValue",invMoneyValue); // 给 折扣额 赋值
}
calcDiscount(); // 根据 折扣额 计算 折扣率 } /**
* 根据 数量或单价变更后计算 金额
* @author WUYF
*/
function calcMoney()
{
var objGrid = $("#customerStock"); // 表格对象
var invQtyEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex,field:'invQty'}); // 数量对象
var invSaleCostEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex,field:'invSaleCost'}); // 单价对象
var invMoneyEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex, field:'invMoney'}); // 金额对象
var discountEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex,field:'discount'}); // 折扣额对象 var invQtyValue = $(invQtyEdt.target).val(); // 数量 值
var invSaleCostValue = $(invSaleCostEdt.target).val(); // 单价 值
var invMoneyValue = invQtyValue * invSaleCostValue; // 金额 值
var discountValue = $(discountEdt.target).val(); // 折扣额 值 $(invMoneyEdt.target).numberbox("setValue",invMoneyValue); // 给 金额 赋值 if( discountValue == 0){
$(discountEdt.target).numberbox("setValue",invMoneyValue); // 给折扣额 赋值
calcDiscount();
}
else{
calcDiscount();
} } /**
* 根据 折扣额变更后 计算 折扣率
* @author WUYF
*/
function calcDiscount(){
var objGrid = $("#customerStock"); // 表格对象
var invMoneyEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex,field:'invMoney'}); // 金额对象
var discountEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex,field:'discount'}); // 折扣额对象
var depositEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex, field:'deposit'}); // 折扣率对象 var invMoneyValue = $(invMoneyEdt.target).val(); // 金额值
var discountValue = $(discountEdt.target).val(); // 折扣额 值
var depositValue = discountValue / (invMoneyValue * 1.0); // 折扣率 值 $(depositEdt.target).numberbox("setValue",depositValue); // 给折扣率 赋值
} /**
* 根据 折扣率变更后 计算 折扣额
* @author WUYF
*/
function calcDeposit(){
var objGrid = $("#customerStock"); // 表格对象
var invMoneyEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex,field:'invMoney'}); // 金额对象
var discountEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex,field:'discount'}); // 折扣额对象
var depositEdt = objGrid.datagrid('getEditor', {index:isEditingRowIndex, field:'deposit'}); // 折扣率对象 var invMoneyValue = $(invMoneyEdt.target).val(); // 金额值
var depositValue = $(depositEdt.target).val(); // 折扣率 值
var discountValue = invMoneyValue * depositValue; // 折扣额 值 $(discountEdt.target).numberbox("setValue",discountValue); // 折扣额 赋值
} /******************************************************** 主要用于 明细表格 字段间的计算 End ******************************************************/
EasyUI datagrid 明细表格中编辑框 事件绑定 及灵活计算 可根据此思路 扩展其他的更多相关文章
- 扩充 jQuery EasyUI Datagrid 数据行鼠标悬停/离开事件(onMouseOver/onMouseOut)
客户需求: jQuery EasyUI Datagrid 用户列表鼠标悬停/离开数据行时显示人员头像(onMouseOver/onMouseOut) 如图所示,Datagrid 鼠标悬停/离开数据行时 ...
- 扩展 jQuery EasyUI Datagrid 数据行鼠标悬停/离开事件(onMouseOver/onMouseOut)
客户需求: jQuery EasyUI Datagrid 用户列表鼠标悬停/离开数据行时显示人员头像(onMouseOver/onMouseOut) 如图所示,Datagrid 鼠标悬停/离开数据行时 ...
- EasyUI datagrid数据表格的函数getData返回来的是什么
EasyUI datagrid数据表格的函数getData返回来的是什么? 他返回来的是这么一个对象: Object { rows=[10], total=15} 其中rows就是每一行的数据,是这些 ...
- easyui datagrid里的复选框置灰方法
easyui datagrid里的复选框置灰方法: $('.datagrid input').prop('disabled',true);//复选框置灰
- EASYUI DATAGRID 多列复选框CheckBox
主要实现: 用的 easyui 1.3.2 实现多个复选框列,各列互不影响.能够实现全选.主要部门用红色标记了的. easyui datagrid 初始化: <script> functi ...
- Easyui datagrid 实现表格记录拖拽
datagrid 实现表格记录拖拽 by:授客 QQ:1033553122 测试环境 jquery-easyui-1.5.3 jquery-easyui-datagrid-dnd 下载地址: http ...
- MFC中关于子对话框中编辑框不能编辑的问题
最近在用MFC写程序.发现子对话框中的编辑框不能编辑.具体问题是这样的: 我有一个对话框YhglDlg,创建了这个对话框的子对话框ZjyhxxDlg,子对话框的Style属性为Child,Border ...
- VC中编辑框更新SetDlgItemText()与UpdateData()的区别
SetDlgItemText(IDC_EDIT_RXDATA,m_strREData); //前一个是ID号,后一个是编辑框的成员变量 UpdateData(FALSE); 它们都能更新编辑框的 ...
- MFC中 编辑框输入换行功能
首先修改编辑框的属性: Multiline 设为true , Auto HScroll 设为true , Auto VScroll 设为 true . 然后响应PreTranslateMessage( ...
随机推荐
- <c:if></c:if>用法-转载
<c:if test="value ne, eq, lt, gt,...."> 用法 类别 运算符 算术运算符 + . - . * . / (或 div )和 % (或 ...
- python中if和elif的区别
多个if语句是每次单独判断 比如: 例子一: a = 5 if a < 6: #条件1 print(1) if a < 7: #条件2 print(2) else: print(3) 条件 ...
- HDU 6052 To my boyfriend(概率 贡献)
To my boyfriend Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)T ...
- iOS 9音频应用播放音频之第一个ios9音频实例2
iOS 9音频应用播放音频之第一个ios9音频实例2 ios9音频应用关联 iOS9音频应用中对于在主视图上添加的视图或控件,在使用它们时必须要与插座变量进行关联.ios9插座变量其实就是为主视图中的 ...
- CodeForces - 1016C Vasya And The Mushrooms
题面在这里! 好久没有体会这种A题的快感了23333 一开始看错了,以为权值是从1开始的,不过这样不要紧,最后把算的答案减去两行数的和就是正确的答案了. 然后发现位于一个角上的时候,我们其实只有两种选 ...
- HDU 6141 I am your Father!(最小树形图)
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=6141 [题目大意] 给出一个有向图,求1点为根的最小树形图使得第n个点的直接父亲编号最小 [题解] ...
- WNDR4300v2 固件编译
WNDR4300v2 固件编译 1.从官网下载源码 从官网找到 https://kb.netgear.com/2649/NETGEAR-Open-Source-Code-for-Programme ...
- pom通用依赖
<dependencies><!--common--><dependency><groupId>com.google.guava</groupId ...
- CMSIS-SVD Schema File Ver. 1.0
<?xml version="1.0" encoding="UTF-8"?> <!-- date: 07.12.2011 Copyright ...
- python核心模块之pickle和cPickle解说
pickle模块使用的数据格式是python专用的,而且不同版本号不向后兼容,同一时候也不能被其它语言说识别.要和其它语言交互,能够使用内置的json包使用pickle模块你能够把Python对象直接 ...