我正在关注Slickgrid
的示例我使用ajax将数据加载到可观察数组
$.ajax({
url: "../Service/Data",
type: "PUT",
contentType: 'application/json',
processData: false,
data: JSON.stringify(Id),
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
},
success: function (allData) {
var mappedData= $.map(allData, function (item) {
return new TableData(item);
});
self.MyArray(mappedData);
}
});
然后在我看来模型就是这样做
grid = new Slick.Grid("#myGrid", self.MyArray(), columns, options);
在我看来,我的行为如下
<div id="myGrid" style="width:300px;height:420px;"></div>
但是我的网格输出低于输出。它没有显示数据而是对象
这里有什么不妥?
UPDATE1
这是我的列定义
var columns = [
{ id: "title", name: "Title", field: "title" },
{ id: "duration", name: "Duration", field: "duration" },
{ id: "percent", name: "% Complete", field: "percent" }
];
var options = {
enableCellNavigation: true,
enableColumnReorder: false
};
这就是我的实际代码中的obs数组的样子
更新2 这是我的TableData
function TableData(data) {
this.id= ko.observable(data.id);
this.duration= ko.observable(data.duration);
this.percent= ko.observable(data.percent);
}
我从服务器获取json数据
答案 0 :(得分:0)
只是一个想法,你没有显示从../Service/Data返回的JSON的格式实际上是什么,但是,你是否尝试过直接将返回的JSON数据写入MyArray?
success: function (allData) {
self.MyArray = allData;
}