Jquery slickgrid显示对象而不是值
我是在举一个例子 我正在使用ajax将数据加载到可观察数组中Jquery slickgrid显示对象而不是值,jquery,html,knockout.js,slickgrid,Jquery,Html,Knockout.js,Slickgrid,我是在举一个例子 我正在使用ajax将数据加载到可观察数组中 $.ajax({ url: "../Service/Data", type: "PUT", contentType: 'application/json', processData: false, data: JSON.stringify(Id), error: function (XMLHttpRequest, textStatus, errorThrown) { a
$.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>
这就是我的obs数组在实际代码中的样子
更新2
这是我的表格数据
function TableData(data) {
this.id= ko.observable(data.id);
this.duration= ko.observable(data.duration);
this.percent= ko.observable(data.percent);
}
我从服务器获取json数据只是一个想法,您没有显示从../Service/data返回的json的实际格式,但是,您是否尝试过直接将返回的json数据写入MyArray
success: function (allData) {
self.MyArray = allData;
}
self.MyArray返回什么?@Gaetano self.MyArray返回data@Tanner当我按照你说的方式做时,我得到了误差函数expected@Gaetano我用方法和原型得到了阵列。在这个方法中,我有我的列。我不知道它叫什么东西。这可能就是原因吗?这可能就是原因-你能告诉我MyArray的定义吗?我的意思是,如果你从ajax调用传回一个JSON数组,JSON中的属性与网格定义中的列1:1匹配,为什么不直接将它传给网格?顺便说一句,列被配置为需要一个'title'属性,并且获取data.id并将其写入一个id属性。您是否尝试过使用我上面给出的代码或任何敲除实用程序函数,如ko.mapping.fromJSallData,{},MyArray;-有关映射选项的更多信息,请参阅。我尝试使用您的代码,但得到的javascript运行时错误对象不支持此操作。slickGrid是否支持ko.observable中保存的数据?或者它是否希望daat是JSON或只是在普通的旧JS数组中?。如果是后者,只需循环所有数据并将每个项推入数组即可
success: function (allData) {
self.MyArray = allData;
}