3

jqGrid で MVC (asp.net) をサポートする商用アプリの例をいくつか見て、Backbone.js クライアント側 mvc で jQgrid を使用する最善の方法を決定しようとしています。

現在、バックボーン コレクションによって提供される小さなテーブルと「ローカル」データ型で jqgrid を保持するバックボーン ビューを使用しています。

ページングと仮想スクロールをサポートするために、バックボーン モデル/コレクションでサーバーからのデータの取得と検索/フィルタリング オプションをサポートし、出力をビューと jqgrid に渡してグリッドを更新したいと考えています。

jqGridには、beforeRequest、loadBeforeSendなどのイベントへのフックがいくつかあるようです。これにフックしてコレクション呼び出しを実行して、ajaxリクエストを作成し、jsonを返し、コレクションを更新します(AddyのBackbone Paginatorコレクションを利用します)が、jqgridはモデルの代わりにビューを制御するのは正しくないと思われるajax呼び出しをまだ行っています。

カスタム データ型を使用すると、グリッドがより多くのデータをフェッチし、bb コレクションにその機能を提供させ、データをフェッチする必要がある場合に、条件をトラップできます。

カスタム データ型が最適なオプションですか?バックボーン モデル/コレクションを jqgrid にフックするより良い方法はありますか?

4

1 に答える 1

0

バックボーン環境では、適切なリスナーを使用してテーブルをコレクションに直接結び付けてデータを更新する必要があります。そうしないと、静的ビューに依存しています。これは、バックボーンを使用した理由とは逆です。ライブ用に意図されていないグリッドを更新するために、コールバックをフックするのに数え切れないほどの時間を費やすことになります。

私はバックボーン環境で datatables.net を 2 回実行しましたが、どちらの試みも混乱でした。なぜなら、私は基本的にデータテーブルをブルート フォースして独自のモデルを更新していたからです。これはやり過ぎでした。同様に、Datatable のサーバー側オプションを利用しようとすることは、Ajax トランザクションのバックボーン システムと競合するため、ほぼ実現不可能でした。

Backbone で使用するためにゼロから構築されたBackgridを見てください。はるかに、これは私がこれまでに見つけた中で最も単純で、最もクリーンで、オーバーヘッドが最も低いオプションです。

于 2015-04-02T15:56:38.057 に答える