1つのフォーム上の複数のフィールドのルックアップをフィルタ処理したいとします。 問題は、追加した最後のイベントハンドラだけがすべてのフィールドに適用されることです。 これは私が現在使用されているフィールドを取得するためにコンテキストを使用したかったのです。 しかし、フィルタはフォームの "onload"イベントに適用されます。ここでは、選択されたコンテキスト/フィールドはありません。フィルタリングされた複数のフィールドの検索
私はこのコードを使用し、このために:
function preFilterLookupFunction(executionContext)
{
var fieldname = new Array("field1","field2");
fLen = fieldname.length;
for (i = 0; i < fLen; i++)
{
var tempName = fieldname[i];
Xrm.Page.getControl(tempName).addPreSearch(function()
{
addLookupFilterFunction(executionContext);
});
}
}
function addLookupFilterFunction(executionContext)
{
var attribute = executionContext.getEventSource();
var tempFieldName = attribute.getName();
alert(tempFieldName)
var condition = Xrm.Page.getAttribute("fieldContition").getValue();
if (condition != null)
{
var fetchXml = "<filter type='and'><condition attribute='fieldContition' operator='eq' value='" + condition + "' /></filter>";
Xrm.Page.getControl(tempFieldName).addCustomFilter(fetchXml);
}
}
私の質問は:それは実行中addLookupFilterFunction
でコンテキストを取得することが可能であるので、私は右のフィールドにフィルタを設定することができますか?または、複数のフィールドを1つのフォームでフィルタリングするより良い方法はありますか?
素敵な写真Twiebie
は、このコードを置き換えます。 – user7393973フォームの複数のルックアップに同じフィルターを適用する必要がありますか?私はそれを得ましたか? (Btw:これは私が最初に書いたコードと同じです) – Alex
@Alexはい、確かにそうです。私はすべてのフィールドにseperatlyイベントハンドラを追加したくありません。 – Twiebie