CRM 2015 Update 1添加了为网格创建OnLoad事件的功能。我将一个事件连接到Grid的onLoad事件,希望获得已添加到网格中的任何值,但是当我尝试获取行时,从注册的onLoad事件调用时它总是返回0行:
// Always returns undefined when called from the Grid's onLoad Event, even if the user is just sorting the grid
Xrm.Page.getControl("Contacts").getGrid().getRows().get(0);
用户添加或删除行后,是否有从网格中获取行?如果在Grid OnLoad事件之外触发代码,则代码可以正常工作。
答案 0 :(得分:0)
这是一种解决方法,但这不是最好的方法。
setTimeout(function () {
var allGridRowData = [];
var rows = Xrm.Page.getControl("Contacts").getGrid().getRows();
console.log(rows.length);
rows.forEach(function (row, i) {
allGridRowData.push(row.getData().getEntity());
console.log(allGridRowData);
});
}, 2000);
当触发onload时,看起来网格没有完全加载记录。