Knockout-Kendo.jsライブラリを使用して、Kendo Grid を Knockout バインディングにバインドしています。それぞれに独自の列セットが割り当てられている複数のデータソースをロードするシステムを構築しました。Knockout にバインドされた Kendo Grid に割り当てられた新しい列コレクションを取得することを除いて、すべてがうまく機能しています。
列を再初期化するいくつかの方法を読みましたが、これらすべてではグリッドを破棄して再作成する必要があります。Knockout バウンド グリッドでこれを行う方法がわかりません。以下のコードを使用しています。
HTML:
<div data-bind="kendoGrid: gridOptions"></div>
ノックアウト/JS:
self.SearchResults
とself.GridColumns
はどちらも観測可能な配列です。
self.gridOptions = {
data: self.SearchResults,
columns: self.GridColumns
};
を更新するself.SearchResults
と、グリッドが正しく更新されます。更新self.GridColumns
は、グリッドに表示されている列には影響しません。
上記のリンク先のライブラリが提供する Knockout バインディングを使用して、列コレクションを更新および表示する方法について誰かが正しい方向に向けることができれば、非常に感謝しています。