4

「フィルターされたサブグリッド」をJavaScriptで機能させる方法を見つけましたが、サブグリッドに「検索ボックス」を追加すると、フィルターの結果であるレコードではなく、すべてのレコードが検索されます。

基本的に、「サブグリッドA」の行をクリックしながら「FetchXML」を配置するだけで、「サブグリッドB」は新しい「FetchXML」を取得します。残念ながら、「サブグリッドB」では検索できなくなり、「すべて」のレコードで検索され、新しい「FetchXML」でのみ検索されるはずです。誰かがCRM2011でこの作業を行いましたか?

私がする唯一のことは、次のとおりです。

//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();
4

3 に答える 3

3

検索後、effectiveFetchXmlを見てください。最初に渡したeffectiveFetchXmlが含まれていないことに気付くでしょう。

残念ながら、これを回避する唯一の方法は、検索ボタンをハイジャックして独自のイベントを発生させることです。イベントでは、検索ボックスの値を含めて、必要なEffectiveFetchXmlを渡します(たとえば、「t」を検索するときにこのようなものを挿入します...

<filter type="or">
<condition attribute="subject" operator="like" value="t%" />
<condition attribute="regardingobjectidname" operator="like" value="t%" />
</filter>
于 2012-04-20T18:29:20.300 に答える
1

setParameter関数は使用できなくなりました。代わりにSetParameterを使用できるようになりました。幸い、リフレッシュ機能は引き続き利用できます。したがって、コード内の関数名を変更すると機能します。

于 2013-03-22T04:51:05.127 に答える
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 : "");

いいえ、クイック検索が通常のように機能するように、必要な実装を行うのは私の仕事です!

于 2012-04-26T13:22:31.070 に答える