我在我的一个表单OnLoad事件上运行以下JavaScript: -
function calcServicePriceTotal() {
var grid = document.getElementById('ProjectServicesGrid');
var ids = grid.control.get_allRecordIds();
var sum = 0.00;
var cellValue;
for (i = 0; i < ids.length; i++) {
var cellValue = grid.control.getCellValue('iss_salesprice', ids[i]);
var number = Number(cellValue.replace(/[^0-9\.]+/g, ""));
sum = sum + number;
}
Xrm.Page.data.entity.attributes.get("ava_tempgrossvalue").setValue(sum);
}
不幸的是我收到以下错误: -
“错误:'subGridOnload'未定义”
我相信脚本在对象有需要加载的时间之前触发,所以我该怎么做才能减慢功能?必须有一些方法可以克服这个问题,但我远非JavaScript专家,所以我可以使用一些帮助。
提前致谢
答案 0 :(得分:0)
function calcServicePriceTotal() {
if (document.getElementById("Services")) {
var grid = document.getElementById("Services").control;
var ids = grid.get_allRecordIds()
var sum = 0
for (i = 0; i < ids.length; i++) {
var cellValue = grid.getCellValue('iss_salesprice', ids[i]);
var number = Number(cellValue.replace(/\D/g, ''));
number = number/100;
sum = sum + number;
}
Xrm.Page.data.entity.attributes.get("iss_value").setValue(sum);
}
else {
setTimeout("calcServicePriceTotal();", 500);
}
}