如何在CRM 2015 Update 1中网格刷新后从网格中检索网格行?

时间:2015-08-07 20:51:25

标签: javascript dynamics-crm-2015

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事件之外触发代码,则代码可以正常工作。

1 个答案:

答案 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时,看起来网格没有完全加载记录。