データをノックアウト シンプル グリッドにバインドすることはできますが、列名を動的に変更することは可能ですか。列の名前は、ユーザーがテキスト ボックスに入力したものになります。これが私のビューモデルです
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());
ここでフィドルを参照してください
デモ用に、現在ハードコードされている列「名前」の代わりに、列名を「よく旅した子猫」にすることは可能ですか?
私の実際のシナリオでは、ユーザーはテキストボックスにテキストを入力し、グリッドをロードすると、列名がテキストボックスに入力されたものに変更されます。どうすればこれを達成できますか?