2016-04-18 10 views
0

javascriptを使用して動的に生成されたfetchxmlクエリを割り当てるフォームにサブグリッドがあります。ユーザがサブグリッドの「ポップアウト」ボタンをクリックすると、クエリは失われ、そのエンティティのデフォルトビューが表示されます。CRM 2013/2015/2016 subgrid popout、fetchxmlクエリを保持

ユーザーは、複数選択と一括編集を実行できる必要があります。私が知る限り、これはCRM 2013のサブグリッドでは不可能です。それがポップされたときにクエリを保持する方法はありますか?

答えて

1

ポップアウトされたグリッドと対話するサポートされた方法はありません。クライアントサイドのアプリケーションコードを掘り下げ始めると、新しいウィンドウへのフックを見つけることができるかもしれませんが、そうすることはサポートされず、壊れやすくなり、推奨しません。

私は、あなたのエンティティのサブグリッド上にそのポップアウトボタンを隠しておき、ユーザが一括編集のためにポップアウトしたグリッドを使用する必要があることを再読みすることを提案します。

この場合、最良の選択は、JSを捨て、サブエンティティに対してRetrieveMultipleプラグインに移動することです。 RetrieveMultipleプラグインは一般的に回避する必要がありますが、あなたのケースではどんな音でも、あなたの唯一の選択肢です。

そして、徹底的に、サブグリッドの動的フェッチが必要なのは確実ですか?たとえ完璧ではないとしても、あなたの要件に十分近づくような視点を思いつく方法はありますか?

更新:カスタムグリッドを実装

  1. - またはthere-から無料のもののいずれかを変更します。 あなたがあなたのコメントに提供される追加情報に基づいて、私は2つのだけのオプションを考えることができます - 複数選択と一括編集を可能にする
  2. カスタムWebアプリケーションは、ユーザの基準を受け取り、ユーザの個人的なビュー(エンティティ:ユーザクエリ)を作成してデータベースに保存し、フォーム上のJSがグリッドを設定しますその視点に

    あなたはこのliksことを行うことができます

    document.getElementById("someGridId").control.SetParameter("viewtype", "4230"); // 4230 is the objecttypecode for userquery 
    document.getElementById("someGridId").control.SetParameter("viewid", "{11310965-0306-E611-80E5-3863BB36DD08}"); 
    

    はこれを行うには、実際にが飛び出しグリッドは、個人ビューをロード作るんが、あなたがそれを更新しようとすると私のテストで今グリッドは動揺を取得。

    このアプローチには明らかな欠点があります:1)生成される個人的なビューをクリーンアップする方法を考え出す必要があります。2)リフレッシュ時にグリッドが壊れる可能性があります。3)サポートされていないため、

    まだ検討する価値はあります。

+0

ユーザーが内のフィルタや他のコントロールを設定し、リソースとして埋め込まれたWebアプリケーション。その基準と選択に基づいて、fetchxmlクエリが動的に生成され、Webアプリケーションの下のサブグリッドに適用されます。そのため、クエリはリアルタイムで条件から生成されたレコードをすべて参照し、個別にまたは一括して更新を行うことができます。 – noobie

+0

@noobie私は自分の答えを更新しました。 – Polshgiant

+0

提案していただきありがとうございます。このシナリオでは、このグリッドをcrmグリッドの代替品として探しています - https://busiplanit.wordpress.com/2015/08/03/a-free-customizable-editable-grid-for-dynamics -crm-20132015/comment-page-1 /#comment-69 しかし、これはうまくいかない、あなたのソリューションは最も実行可能なもののように思えます。ご協力いただきありがとうございます。 – noobie

1

より代わりにサポートされていないgetElementByIdをを使用する方法、サポートは、エンティティの取得、複数のプラグインをフックし、そこに

をクエリを修正することであるクリス・