hnlhl 发表于 2021-12-19 21:02:44

如何在数据表格中取值、计算,再赋值

你好:我在数据表格中取出gmsl、gmdj赋值给sl、dj,计算出je=sl×dj,再赋值给数据表格中的gmje,如下代码写入gmsl和gmdj的change事件中,但是没成功,var sl = this.form.getField(“gmsl”).getData();    var dj = this.form.getField(“gmdj”).getData();
    var je = (sl*dj).toFixed(2)
    this.form.getField(“gmje”).setData(je);


hnlhl 发表于 2021-12-19 21:05:23

以前数据表格的时,类似的自动计算能自动完成,换成这个数据表格后,一直没掌握住这方面的知识。

论坛管理员 发表于 2021-12-20 10:54:55

hnlhl 发表于 2021-12-19 21:05
以前数据表格的时,类似的自动计算能自动完成,换成这个数据表格后,一直没掌握住这方面的知识。 ...

在每个对应输入框的change事件中触发!
一直没有自动计算的。都是需要脚本自己写的

hnlhl 发表于 2021-12-20 11:31:43

取值和赋值的语句正确么?

hnlhl 发表于 2021-12-20 11:32:39

hnlhl 发表于 2021-12-20 11:31
取值和赋值的语句正确么?

var sl = this.form.getField(“gmsl”).getData();   
var dj = this.form.getField(“gmdj”).getData();
var je = (sl*dj).toFixed(2);
this.form.getField(“gmje”).setData(je);

论坛管理员 发表于 2021-12-20 14:20:36

var sl = this.form.get("n1").getData();   
var dj = this.form.get("n2").getData();
var je = (sl*dj).toFixed(2);
this.form.get("n3").setData(je);

hnlhl 发表于 2021-12-20 14:58:35

论坛管理员 发表于 2021-12-20 14:20
var sl = this.form.get("n1").getData();   
var dj = this.form.get("n2").getData();
var je = (sl*dj). ...

这个在数据网格中可以,现在升级成数据表格不行了呀?

论坛管理员 发表于 2021-12-21 10:31:28

hnlhl 发表于 2021-12-20 14:58
这个在数据网格中可以,现在升级成数据表格不行了呀?

数据表格您可以看apihttp://release11.o2oa.net/api/MWF.xApplication.process.Xform.DatatablePC.html#getModule




mzs818 发表于 2021-12-30 18:04:02

参考以下:

var lid = this.target.json.id.split("..");
var cline = lid;//获取当前行
var unitPrice = this.form.get("datatable").getModule(cline, "price").getData();
var number = this.form.get("datatable").getModule(cline, "number").getData();
if(number!==""&&unitPrice!==""){
    var money = parseFloat(number)*parseFloat(unitPrice)
    this.form.get("datatable").getModule(cline, "sum").setData(money.toFixed(2));
}else{
    this.form.get("datatable").getModule(cline, "sum").setData("");
}

hnlhl 发表于 2022-1-16 17:35:18

成功,算出来,多谢!上边那个lid中的2就是获取当前行数据,不用跟着行数不同改变吧?我是原样托上了,每行都能自动算出来。
页: [1]
查看完整版本: 如何在数据表格中取值、计算,再赋值