2012-04-19 26 views
4

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

基本的には、「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

は、検索した後、あなたのeffectiveFetchXmlを見てみましょう。最初に渡されたeffectiveFetchXmlは含まれていません。

残念ながら、これを回避するには、自分のイベントを発生させる検索ボタンを乗っ取るしかありません。あなたのイベントでは、あなたの答えを

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

イベントを渡す方法はありますか... – Freeetje

1

ポールTHXは...「t」を検索するときなどは、このような何かを注入(検索ボックスの値を含めたいeffectiveFetchXmlを渡し、それは私がして検索:)働いていました「F12は、」IDが「検索」 - ボタンであり、その後、私はそれをオーバーライドすることができるもの-tool:

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 : ""); 

をなしこれは、クイック検索は、通常のいずれかのように動作すること、必要な実装を行うには、私の仕事です!

1

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