我试图通过最终客户字段过滤此子网格ShipmentReportsInformation,以仅显示我当前正在查看的帐户的最终客户记录。现在它显示了所有的记录(不能在表单中使用"只显示相关记录",因为它只是文本)。
我在本地使用Microsoft Dynamics 2016。
所以我做了一个web资源(onload事件),这是我到目前为止放在一起的:
function Filter(){
var str = Xrm.Page.getAttribute('name').getValue(); //this contains the correct text
//alert(str);
var AllRows = Xrm.Page.getControl("ShipmentReportsInformation").getGrid().getRows(); //all rows inserted in AllRows
var FilteredRows = AllRows.forEach(function (AllRows, i) {
if(Xrm.Page.getAttribute('new_endcustomer').getValue() == str){
FilteredRows.push(AllRows.getData().getEntity().getEntityReference());
}
//Now I think I should only have the lines added to the FilteredRows variable that match the if condition
});
Xrm.Page.getControl("ShipmentReportsInformation").setData(FilteredRows); //putting the data from the var in the subgrid
}
我对编程很陌生,所以如果我在那里做了一些荒谬的事情,你知道。可悲的是,它不能工作,我得到的日志/错误报告根本没有任何帮助。错误和形式,举例说明:http://prntscr.com/cwowlf
谁能帮我找出代码中的问题?我甚至认为它在子网格加载之前加载代码,但我不知道如何适当地延迟它。我试过。getreadystate != complete,但它从来没有完成。
只是为了帮助我到目前为止发现的:这是我获得大部分信息的地方:https://msdn.microsoft.com/en-us/library/dn932126.aspx # BKMK_GridRowData
亲切的问候
虽然这个问题很老了,但我正试图找到一种过滤子网格的方法,偶然发现了这篇文章。根据SDK,这就是setData方法所提到的内容:
Web资源有一个特殊的查询字符串参数data要传递自定义数据。getData和setData方法只适用于Silverlight添加到表单中的Web资源
欢呼