0

私はASP.Net MVC3 WebアプリでajaxSubmit用のjQuery Form Pluginを使用しています。私はグリッドを持っており、フィルター処理、並べ替え、ページング中に ajax ポストバックを使用して更新します。簡単に言えば、ajax ポストバックから取得したグリッド html 結果を置き換えるだけです。グリッド html はサーバー側でレンダリングされるため、あらゆる種類のグリッド機能に最適です。

現在、並べ替え、ページング、可能であればグループ化とサーバー側のページングなどの基本的な機能を備えた json ベースのグリッドを探しています! Editable Grid は主な焦点ではありませんが、追加の利点になります。ほとんどのソリューションはKnockoutjsを指していることがわかります。私はそれを試してきましたが、グループ化などの高度な機能については、特に宿題が必要です...

私はいくつかの基本的な例を見つけました

  1. Knockoutjs 基本グリッド (追加/削除あり)
  2. SimpleGrid コンポーネント
  3. jQgrid は json もサポートします
  4. jqxgrid

それに伴い、私は新しい概念にも出会いました - JsonML + Browser-Side Templating (JBST)基本的に、これは json で動作し、要素をページに追加する前に要素の動作を変更することができます。ブラウザ側のテンプレート。誰もそれを経験しましたか?KOに匹敵する?

私のシンプルな注目の json ベースのグリッドに関する提案と専門知識のアドバイスを歓迎します (json がデータを渡す最良の方法であると仮定します)。別のアプローチを知っている場合は、それも共有してください。

4

3 に答える 3

2

ネイティブKOグリッドであるKoGridをチェックアウトしましたか

https://github.com/Knockout-Contrib/KoGrid

于 2013-02-03T00:33:06.293 に答える
1

私は宿題をしました。これが私の最終的な結論です。まず、KO サポートのようなものはありません。プラグイン用の ko バインディング ハンドラが必要です (FOGrid を除く)。

DataTables - json をサポートしていますが、ネイティブ KO サポート (外部プラグイン)が見つかりませんでした。バインディングはシンプルでストレートに見えますが、多くのdiff スクリプトファイルがあります。

SlickGrid - jsonをサポートしますが、後処理が少し必要です。可能性のある外部KO バインディングが可能です。ko.utils.unwrapObservable の使用。

ko.SimpleGrid結合の実装ko.bindingHandlers.simpleGrid(ページングサポート)

私の最終的な選択 -

KOGridおそらく最初の純粋な KO ベースのグリッドです! したがって、明らかにjsonと互換性があります。並べ替えをネイティブにサポートします (追加のスクリプトは不要です)。大規模なデータ セットのサーバー側のページングも見つかりました。オールインワン

function columnDefsVM() {
    var self = this;
    this.myData = ko.observableArray([{ name: "Moroni", age: 50 },
                     { name: "Tiancum", age: 43 },
                     { name: "Enos", age: 34 }]);
    this.gridOptions = { data: self.myData,
      columnDefs: [{field: 'name', displayName: 'Name'},{field: 'age', displayName: 'Age'}]
    };
}
ko.applyBindings(new columnDefsVM());

他の何人か -

于 2013-02-05T19:15:00.617 に答える
0

こちらのグリッド サンプルもご覧ください: jqxGrid with Knockout

于 2013-02-02T15:03:38.030 に答える