對於Kendo UI和Knockout(3天!)非常新穎,我試圖將遺留Java applet轉換爲Javascript。到目前爲止,創建和綁定kendoGrid相對比較簡單:使用JSON對象填充KendoGrid
函數JobViewModel(){ var self = this;
self.jobData = new ko.observableArray([]);
self.grdJobs = {
scrollable: true,
sortable: true,
filterable: false,
columnMenu: true,
resizable: true,
columns: [
{ title: "Job ID", field: "jobID" },
{ title: "Owner", field: "owner" },
{ title: "Description", field: "description" },
{ title: "State", field: "runState" },
{ title: "Start Time", field: "timeStart" },
{ title: "End Time", field: "timeEnd" },
{ title: "Elapsed Time", field: "timeElapsed" },
{ title: "Progress", field: "progress" },
{ title: "Agent", field: "agent" },
{ title: "Last Action", field: "lastAction" }
],
selectable: "single"
};
};
來從服務器返回的數據是JSON對象數組(的任何長度)類似下面的(縮短爲了簡潔):
[{0:1,2:3,4:5, ...},{0:1,2:21,4:5,...},{0:1,2,23,4:5,...}]
這個數組是數字鍵/值對被映射到數字鍵與串配對的字典對象值是這樣的:
{ 0:「狀態」 1:「完成」 2:「作業ID」 3: 「54759」 4: 「所有者」 5: 「約翰」 ... 21: 「54758」 ... 23: 「54757」 ... }
我需要獲取的是來自字典的映射字符串,因爲它們與JSON對象數組相關。我試過的方法是JSON.stringify(obj [i]),但是我不確定我可以用它做什麼(也許在可以分配給kendoGrid的ko.observable中使用它)?無論如何,我根據我上面顯示的樣本數據,後面是一個網格,其中包含列標題「JOB ID」,「所有者」和「狀態」以及全部由John和State擁有的3行作業(54757,54758,54759)成品。
我希望這一切都有意義。我想我真正需要的是如何把JSON轉換成可用於Kendo網格的可用內容。感謝您幫助JS/JSON/Kendo/Knockout新手!
那一定幫助。我的數據和映射比較複雜一點,因爲我永遠不會知道數據對象數組有多長,甚至不知道映射對象中有多少個字段,但這是朝正確方向邁出的一步。非常感謝你的幫助! – user2030159 2013-03-08 17:53:24