起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2149|回复: 10

[结贴] 单价数量金额

[复制链接]

5

主题

21

帖子

72

积分

初级会员

Rank: 2

积分
72
QQ
发表于 2014-3-4 10:43:30 | 显示全部楼层 |阅读模式
版本: X5.2.6 小版本号:
数据库: MS SQLServer 服务器操作系统: 应用服务器:
客户端操作系统: Windows 其它 浏览器:
在一个grid表中,有三列数量单价金额,怎样实现以下功能:输入数量单价后,金额自动计算出来;在输入金额后,跟据数量,单价自动改变。

1

主题

313

帖子

859

积分

高级会员

Rank: 4

积分
859
发表于 2014-3-4 10:47:17 | 显示全部楼层
本帖最后由 fpj123 于 2014-3-4 10:51 编辑

金额这一列可以设置为计算列,其值根据数量与价格动态改变即可。

代码如下

var rows = Data.getCount();
     for(var i=0; i<rows; i++){
         var rowID=Data.getID(i);
          Data.setValue("计算列名", Data.getValue("字段1", rowID)*Data.getValue("字段2", rowID)); //计算列赋值
明天会更好。
回复 支持 反对

使用道具 举报

310

主题

4938

帖子

4767

积分

论坛元老

Rank: 8Rank: 8

积分
4767
QQ
发表于 2014-3-4 10:59:25 | 显示全部楼层
可以在bizData的valueChanged事件里写,根据修改的列,如果改的是数量列,重新计算金额,赋值给金额列;如果改的是金额列,重新计算单价,赋值给单价列;

评分

参与人数 1 +4 收起 理由
jishuang + 4 赞一个!

查看全部评分

QQ:179785966
回复 支持 反对

使用道具 举报

5

主题

21

帖子

72

积分

初级会员

Rank: 2

积分
72
QQ
 楼主| 发表于 2014-3-4 11:01:08 | 显示全部楼层
fpj123 发表于 2014-3-4 10:47
金额这一列可以设置为计算列,其值根据数量与价格动态改变即可。

代码如下

数量*单价=金额能实现,但怎样实现单价=金额/数量
回复 支持 反对

使用道具 举报

5

主题

21

帖子

72

积分

初级会员

Rank: 2

积分
72
QQ
 楼主| 发表于 2014-3-4 11:12:35 | 显示全部楼层
290634536 发表于 2014-3-4 11:01
数量*单价=金额能实现,但怎样实现单价=金额/数量

判断修改列的语句能不能帮我写下。
回复 支持 反对

使用道具 举报

5

主题

21

帖子

72

积分

初级会员

Rank: 2

积分
72
QQ
 楼主| 发表于 2014-3-4 11:32:16 | 显示全部楼层
290634536 发表于 2014-3-4 11:12
判断修改列的语句能不能帮我写下。

怎样得到bizdata表的某列的列名呢。
回复 支持 反对

使用道具 举报

88

主题

9507

帖子

5135

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5135
QQ
发表于 2014-3-4 11:34:09 | 显示全部楼层
不能使用规则,在onValueChanged事件中写js代码可以实现
远程的联系方法 QQ 728094812。添加好友时,需要填写论坛账号
发远程时同时也发一下帖子的地址,方便了解要解决的问题

如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

5

主题

21

帖子

72

积分

初级会员

Rank: 2

积分
72
QQ
 楼主| 发表于 2014-3-4 13:04:18 | 显示全部楼层
290634536 发表于 2014-3-4 11:32
怎样得到bizdata表的某列的列名呢。

mainActivity.dataMainValueChanged = function(event) {
        if (event.column == "fGoodsName")
                if (event.value == "a") {
                     justep.xbl("data1").setValue("fGoodsName", "1");
                }
};
列名这样进行判断。
回复 支持 反对

使用道具 举报

5

主题

21

帖子

72

积分

初级会员

Rank: 2

积分
72
QQ
 楼主| 发表于 2014-3-4 13:25:20 | 显示全部楼层
290634536 发表于 2014-3-4 13:04
mainActivity.dataMainValueChanged = function(event) {
        if (event.column == "fGoodsName")
   ...

mainActivity.dataDetailValueChanged = function(event){
  if(event.column=="Price"){
     justep.xbl("dataDetail").setValue("Amount",
                      justep.xbl("dataDetail").getValue("Number")*justep.xbl("dataDetail").getValue("Price"))
  }
  if (event.column == "Amount"){
     if(justep.xbl("dataDetail").getValue("Number") !=0){
         justep.xbl("dataDetail").setValue("Price",justep.xbl("dataDetail").getValue("Amount")/justep.xbl("dataDetail").getValue("Number"));
     }
  }
               
};
回复 支持 反对

使用道具 举报

88

主题

9507

帖子

5135

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5135
QQ
发表于 2014-3-4 13:45:42 | 显示全部楼层
这样会执行两次,最好加个变量,判断一下
远程的联系方法 QQ 728094812。添加好友时,需要填写论坛账号
发远程时同时也发一下帖子的地址,方便了解要解决的问题

如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-21 03:23 , Processed in 0.115697 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表