0

バックグラウンド

私は、さまざまな種類の情報を管理し、EntitiesCollectionを拡張するジェネリックを定義するクライアント サーバー REST ベースのアプリケーションで作業していますBackbone.Collection。にEntitiesCollectionは、CRUD 操作、フィルタリング、並べ替えなどのための API (Backbone.Collection API を拡張したもの) があります。

私のチームは、オブジェクトを表示および操作できる Grid コンポーネントを作成する必要がありEntitiesCollectionます。このグリッドはサード パーティのコンポーネントに基づいており、使用を真剣に検討してKendo.Gridいます。

チャレンジ

私の最初の質問は、data\data-source が実際に Backbone.Collectionである Kendo.Grid を使用しようとしたことがある人がいるかどうか、そしてそれが適切で適切なアイデアであるかどうかです。

Derick Bailey のBackbone And Kendo UI: A Beautiful Combinationなど、 KendoBackboneの統合に関するさまざまな記事を見てきました。ただし、これらの記事では、ビュー レベルの統合 ( を で囲む) について説明しています。私が探しているのは、データ レベルの統合です。Kendo.GridBackbone.ViewKendo.GridBackbone.Collection

オプション

私が理解している限り、これまでのところ、内部コレクションを保持するKendo.Grida で動作します- a 。Kendo.DataSourceKendo.ObservableArray

私たちがそれを目指していると仮定すると、いくつかの実装オプションがあります。

  1. 議論したオプションの 1 つは、 を に変換することですがEntitiesCollectionKendo.DataSourceこれはオプションではないようです。サーバーとの通信は、独自のオブジェクトを介して行う必要があります。

  2. Kendo.DataSourceEntitiesCollection-に置き換えてEntitiesCollection、API を実装しKendo.DataSource、グリッドはそれを dataSource オブジェクトとして使用します。Kendo.DataSourceKendo がオブジェクトで提供する多くの機能が失われると思うので、この解決策は好きではありません。

  3. Kendo.DataSource私たち自身のリクエストをラップし、EntitiesCollectionそれにリクエストを委譲します。

  4. に含まれるKendo.ObservableArrayオブジェクトは、Kendo.DataSource私たちをラップしますEntitiesCollection(私がオンラインで見つけたこのサンプル実装を参照してください)。このアプローチは単純なユースケースで機能するように見えますが、何かが間違っているように思えます.リモートサーバーとやり取りしてデータを取得するのはオブジェクトであるため、 (剣道用語では)オブジェクトでBackbone.Collectionはなくオブジェクトだと思います.dataDataSource

4

2 に答える 2

1

私が投稿したばかりのこの記事に興味があるかもしれません。

http://www.kendoui.c​​om/blogs/teamblog/posts/13-02-07/wrapping_a_backbone_collection_in_a_kendo_data_datasource.aspx

その中で、DataSource のバッキング ストアとして Backbone.Collection を使用するアダプターを構築し、それを Kendo UI Grid に接続するために必要な基本事項について説明します。

ページングのサポートがないなど、すべてのニーズを完全に解決したわけではありませんが、うまくいけば、これで十分な道のりを歩むことができます.

于 2013-02-07T19:33:59.803 に答える
1

すべての Kendo UI ウィジェット (グリッドを含む) は、 のインスタンスにのみバインドできますkendo.data.DataSource

Kendo UI を Backbone に統合する方法を示すために、' kendo-backbone ' プロジェクトを作成しました。このプロジェクトは、既存のバックボーン コレクションを Kendo ObservableArray としてラップします。後者は単純なプロキシのように機能し、Backbone コレクションと完全に連携します。

于 2013-02-06T13:03:44.720 に答える