CRM 2011 - 过滤的子网格搜索功能

时间:2012-04-19 16:35:07

标签: javascript dynamics-crm-2011 crm subgrid

我找到了一种如何使“过滤子网格”与JavaScript一起工作的方法,但是当我在子网格上添加“搜索框”时,它会搜索所有记录,而不是搜索过滤结果的记录。

基本上,我们唯一要做的就是在点击“Subgrid A”中的行并且“Subgrid B”获得新的“FetchXML”时放置“FetchXML”。不幸的是,我们不能再搜索“Subgrid B”了,它会在“ALL”记录中搜索,它只能搜索新的“FetchXML”。有人在CRM 2011中做过这项工作吗?

我唯一能做的就是:

//Setting the fetch xml to the sub grid.
relatedSamples.control.setParameter("fetchXml", fetchXml);
relatedSamples.control.setParameter("effectiveFetchXml", fetchXml);
relatedSamples.control.setParameter("fetchXmlForFilters", fetchXml);

//This statement will refresh the sub grid after making all modifications.
relatedSamples.control.refresh();

3 个答案:

答案 0 :(得分:3)

搜索后查看您的effectiveFetchXml。您会注意到它不包含您最初传递给它的effectiveFetchXml。

不幸的是,解决这个问题的唯一方法就是劫持搜索按钮来解雇你自己的事件。在你的事件中传递你想要的effectiveFetchXml,包括搜索框的值(例如,在搜索“t”时注入类似的东西......

<filter type="or">
<condition attribute="subject" operator="like" value="t%" />
<condition attribute="regardingobjectidname" operator="like" value="t%" />
</filter>

答案 1 :(得分:1)

Paul thx为你的答案,它工作:)我用“F12”搜索 - 工具ID是“搜索”按钮然后我可以覆盖它:

if (document.getElementById("ModulesPlannedChoice_findCriteriaButton") != null) document.getElementById("ModulesPlannedChoice_findCriteriaButton").onclick = function () { refreshModulesPlanned(); }
var searchValue = (document.getElementById("ModulesPlannedChoice_findCriteria") != null ? document.getElementById("ModulesPlannedChoice_findCriteria").value : "");

否我的任务是完成所需的实施,快速查找的工作方式与普通的一样!

答案 2 :(得分:1)

setParameter 功能不再可用。现在您可以使用 SetParameter 代替它。幸运的是刷新功能仍然可用。因此,请更改代码中的函数名称,它将起作用。