addCustomFilter (クライアント API 参照)
検索に表示される結果に、Adds フィルターを使用します。 各フィルターは AND
条件として、前に追加したフィルターと結合します。
サポートされているコントロールの種類
参照
構文
formContext.getControl(arg).addCustomFilter(filter, entityLogicalName)
パラメーター
filter: 文字列。 適用する fetchXml フィルター要素。 たとえば、次のようになります。
<filter type="and"> <condition attribute="address1_city" operator="eq" value="Redmond" /> </filter>
entityLogicalName: (任意) 文字列。 これが設定されている場合、フィルタはそのテーブル タイプにのみ適用されます。 それ以外の場合は、返されたテーブルのすべてのタイプに適用されます。
備考
このメソッドは、検索コントロール PreSearch イベント のイベント ハンドラー内の関数でのみ使用できます。
例
次のコード サンプルは、営業案件フォームの取引先企業 (parentaccountid) 検索用です。 Sdk.setParentAccountIdFilter 関数がフォーム Onload イベント ハンドラーに設定されている場合、Sdk.filterCustomAccounts 関数が検索用 PreSearch イベントに追加されます。 Onload イベント ハンドラーの形式で関数を設定するときは、実行コンテキストを渡すオプションを選択してください。 結果として、カテゴリ (accountcategorycode) の値が優先する顧客 (1) である取引先企業のみが戻されます。
// A namespace defined for SDK sample code
// You should define a unique namespace for your libraries
var Sdk = window.Sdk || {};
// set 'Sdk.setParentAccountIdFilter' in the Opportunity form onload event handler
Sdk.setParentAccountIdFilter = function (executionContext) {
// get the form context
formContext = executionContext.getFormContext();
formContext.getControl("parentaccountid").addPreSearch(Sdk.filterCustomerAccounts);
}
Sdk.filterCustomerAccounts = function () {
// Only show accounts with the type 'Preferred Customer'
var customerAccountFilter = "<filter type='and'><condition attribute='accountcategorycode' operator='eq' value='1'/></filter>";
formContext.getControl("parentaccountid").addCustomFilter(customerAccountFilter, "account");
}
関連記事
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。