jQuery MiniUI

 找回密码
 立即注册
查看: 2814|回复: 4
打印 上一主题 下一主题

关于列值自动换算的问题 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2013-7-20 19:40:35 |只看该作者 |倒序浏览

做一个列自动换算的功能当输入转换比回车之后确认数量会改变成
订货数量*当前输入的转换比的计算结果,当我在“转换比”编辑文本框中输入数字离开时,看到确认数量显示的却还是原先没改的值,当我点击进编辑框时值又是刚计算过的值,再离开时显示的值又回去了,
1.请问有什么办法能使显示的值跟编辑文本框的值一样呢?
2.如果反过来我想输入确认数量把对应的转换比算出来,这时候问题就更大了,会自动把我刚刚输入的确认数量换成了,刚计算的转换比*订货数量的计算结果,而我只需要计算出转换比而不改变我刚输入的确认数量。请问想实现我刚描述的问题我该怎么改下面的代码
function onDrawCell(e) {
            var record = e.record;
            if (e.field == "qrsl") {
                var price = record.convertrate;
                var quantity = record.ordqty;
                 e.cellHtml = price * quantity;
               
                 
       }else if(e.field == "convertrate"){
                 var price = record.qrsl;
                var quantity = record.ordqty;
                 e.cellHtml = quantity/price;
           }
         }
    }
附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 9Rank: 9Rank: 9

沙发
发表于 2013-7-21 17:23:27 |只看该作者
function onDrawCell(e) {
            var record = e.record;
            if (e.field == "qrsl") {
                var price = record.convertrate;
                var quantity = record.ordqty;
                 e.cellHtml = price * quantity;
                record.qrsl= price * quantity; //加这个
                 
       }else if(e.field == "convertrate"){
                 var price = record.qrsl;
                var quantity = record.ordqty;
                 e.cellHtml = quantity/price;
                record.convertrate = quantity/price; //加这个
           }
         }
    }

Rank: 2

板凳
发表于 2013-7-21 20:51:22 |只看该作者
本帖最后由 春暖花开 于 2013-7-21 20:54 编辑

首先非常感谢你的回答,前面的问题好了,但是却导致了新的问题,还望大神不吝赐教。
当我在确认数量里面输入200时转换比是算的很对,但是我的确认数量却变了,然而我却不需要它的值变化,希望是原先我输入的值,让我去保存到数据库

现在我转换比里面输入100一回车转换比跟确认数量就算的都不对了。转换比换错了,计算的结果也错了

我这里的计算公式是这样的,订货数量*转换比=确认数量
function onDrawCell(e) {
            var record = e.record;
            if (e.field == "qrsl") {
                var price = record.convertrate;
                var quantity = record.ordqty;
                 e.cellHtml = price * quantity;
                  record.qrsl= price * quantity;
           }else if(e.field == "convertrate"){
                 var price = record.qrsl;
                var quantity = record.ordqty;
                 e.cellHtml = quantity/price;
                 record.convertrate = quantity/price;
               
           }
      
    }
在基础上需要怎么改才能正确,而且数据一出来并不需要算只是等到我修改转换比,或者确认数量时才改变

附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 8Rank: 8

地板
发表于 2013-7-22 09:24:41 |只看该作者
春暖花开 发表于 2013-7-21 20:51
首先非常感谢你的回答,前面的问题好了,但是却导致了新的问题,还望大神不吝赐教。
当我在确认数量里面输 ...

第一个问题我不是太明白,是不是你的计算表达式错误?你最好自己调试看下,我这光看也看不太出问题
第二个问题,如果需要当编辑结束的时候才自动计算的话,监听oncellendedit事件,oncellendedit="cellendedit"

function cellendedit(e){
   var record = e.record;
var price = record.convertrate;
   var quantity = record.ordqty;
  var qrsl = price * quantity;
  grid.updateRow(record,{确认数量的field:qrsl })
}
试试

Rank: 2

5#
发表于 2013-7-22 10:02:03 |只看该作者
非常的谢谢,这样是可以的,为这事我纠结了好几天了,解了我一大忧愁啊!

Archiver|普加软件

GMT+8, 2024-11-29 03:54 , Processed in 1.025400 second(s), 11 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部