0

すべての例では、page.load イベントで JSON データを simpleGrid にバインドしています。これにより、列が計算され、グリッドビューが表示されます。しかし、私の場合、ページの初期ロードではグリッドビューが表示されず、ajax を使用してデータセットを返すボタンをクリックすると、simpleGrid にバインドされます。サンプルはこちら

フィドル

observableArray をサブスクライブしようとしましたが、グリッドを再生成することもできませんでした。ヒントはありますか? ありがとう!

function viewModel() {
var self = this;
self.queryResult = ko.observableArray();
self.update = function (data) {
    //this is an ajax call and return dateset back
    $.each(initialData, function (index, item) {
        self.queryResult.push(item);
    });
};
self.gridViewModel = new ko.simpleGrid.viewModel({
    data: self.queryResult,
    pageSize: 10
});

}
4

1 に答える 1

0

単純なグリッドでヘッダーを定義したことがありません。以下のように追加しました

   self.gridViewModel = new ko.simpleGrid.viewModel({
   data: self.queryResult,
    columns: [
        { headerText: "Name", rowText: "name" },
        { headerText: "Sales ", rowText: "sales" },
        { headerText: "Price", rowText: function (item) { return "$" + item.price.toFixed(2) } }
    ],
    pageSize: 4
});

ここで更新されたフィドルを参照してください

于 2013-08-07T08:19:52.023 に答える