0

データをノックアウト シンプル グリッドにバインドすることはできますが、列名を動的に変更することは可能ですか。列の名前は、ユーザーがテキスト ボックスに入力したものになります。これが私のビューモデルです

var initialData = [{
name: "Well-Travelled Kitten",
sales: 352,
price: 75.95,
whatever: 10
 }, {
    name: "Speedy Coyote",
sales: 89,
price: 190.00,
whatever: 100
}, ];

function viewModel() {
var self = this;
self.queryResult = ko.observableArray();
this.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,
    columns: [
        { headerText: "Name", rowText: "name" },
        { headerText: "Sales ", rowText: "sales" },
        { headerText: "Price", rowText: function (item) { return "$" + item.price.toFixed(2) } }
    ],
    pageSize: 4
});


 }

var PagedGridModel = function (items) {
    this.items = ko.observableArray(items);

    this.jumpToFirstPage = function () {
     this.gridViewModel.currentPageIndex(0);
};

};

  ko.applyBindings(new viewModel());

ここでフィドルを参照してください

デモ用に、現在ハードコードされている列「名前」の代わりに、列名を「よく旅した子猫」にすることは可能ですか?

私の実際のシナリオでは、ユーザーはテキストボックスにテキストを入力し、グリッドをロードすると、列名がテキストボックスに入力されたものに変更されます。どうすればこれを達成できますか?

4

1 に答える 1