目的:
有的时候我们需要对 sub-grid 内容进行监控,比如在 sub-grid 上添加、删除了一条记录后,要对 Form 上的某个字段值进行更新。
解决方案:
对 sub-grid 添加一个 OnChange 事件,具体代码如下:
function fnOnLoad() { var sub_grid = Xrm.Page.getControl("sub-grid's name"); //获取 sub-grid 对象,需要 sub-grid 的名字 sub_grid.addOnLoad(fnOnSubgridChange); //添加 OnChange 事件 } function fnOnSubgridChange() { var sub_grid_rows = $("#sub-grid's name .ms-crm-List-Data tbody tr").length;//获取 sub-grid 的行数,注意这里 name 和 . 之间有一个空格 console.log(sub_grid_rows); }
注意这里要用到 sub-grid 的 Name,如下图:
之后将 fnOnLoad 添加到 Form 的 OnLoad 事件里就可以了。