2

私のエンティティでは、2 つのオプション セットを使用しました... オプション セット 1(name---> new_location) には、Hyderabad、Mumbai などのアイテムが含まれています

オプション セット 2 (name---> new_places) には、Hussainsagar、Tank Bund、Imax、Bandra-Worli Sea Link、Marine Drive、Mount Mary Church などのアイテムが含まれています。

オプション セット 1 でハイデラバードを選択すると、オプション セット 2 で最初の 3 つのアイテムが表示されます。つまり、ムンバイ オプション セット 2 を選択すると、残りのアイテムが表示されます...

え、ありえます..??

私を助けてください!

4

2 に答える 2

2

これを行うサンプルコードは次のとおりです。

optionSetChanged = function () {
var optionsetControl = Xrm.Page.ui.controls.get("new_places");
var options = optionsetControl.getAttribute().getOptions();

 var value = Xrm.Page.getAttribute("new_location").getValue();
// first option is selected
if (value == 1) {
    optionsetControl.clearOptions();
    for (var i = 0; i < options.length - 1; i++) {
        if (i == 0 || i == 1) {
            optionsetControl.addOption(options[i]);
        }
    }
}
// else is second option is selected
else if (value == 2) {
    optionsetControl.clearOptions();
    for (var i = 0; i < options.length - 1; i++) {
        if (i == 2 || i == 3 || i == 4) {
            optionsetControl.addOption(options[i]);
        }

    }
  }
} 

それが明確であることを願っています!

于 2012-09-28T08:31:14.000 に答える
1

これは非常に短いセットでは問題ありませんが、すぐに管理できなくなり、スクリプトが非常に大きくなります。代わりに、2 つのカスタム エンティティを使用することを検討してください。

アカウントからこれらのそれぞれに関係を追加し (つまり、アカウント N:1 都市 / 場所)、これらの新しい検索フィールドをアカウント フォームに追加します。

地域エンティティで、それが存在する都市へのルックアップを追加し、これを必須フィールドにします。

スクリプトを必要とせずに、都市に応じて場所を簡単にフィルタリングできるようになりました。アカ​​ウント フォームの場所フィールドを編集し、[表示] タブで [関連レコードのフィルタリング] を探します。場所をフィルタリングして、アカウントで既に選択されている都市にある場所のみを表示します。

オプション セットを手動で作成するのではなく、通常のデータ インポート方法を使用して、都市とその場所を簡単にインポートできます。管理者アクセス権がなくても、新しい都市や場所を追加できるユーザーを制御することもできます (つまり、ルックアップで [新規] ボタンを使用します)。そのため、マネージャーは新しい都市を追加でき、他のスタッフは既存の場所のみを追加できます。都市。

そして、取引先、取引先責任者、見込み客のルックアップにこれらの同じエンティティを使用できます。

すべてのユーザーが新しいエンティティに対する何らかの権限、特に「読み取り」および「追加」権限を必要とすることを忘れないでください。

于 2012-09-28T10:24:00.817 に答える