次の方法で共有


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

addPreSearch
formContext

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。