我正在使用ParamQuery JavaScript库(ParamQuery Website)来构建JavaScript网格。
使用JQuery,我使用Ajax向我的服务发出请求,重新调整JSON数据。然后我遍历我的JSON数据并将其分配给一个数组。我的问题是元素是字符串,但我认为它们需要是一个对象数组。
<script type="text/javascript">
$(document).ready(function () {
var DataArray = [];
$.ajax({
url: "http://wks52025:82/WcfDataService.svc/GetNotes()?$format=json",
type: "get",
datatype: "json",
success: function (data) {
$.each(data.d, function (i, item) {
DataArray[i] = "[" + item.NotesTitle.trim() + "," + item.NotesText.trim() + "]";
})
for (var i = 0; i < DataArray.length; i++) {
//alert(DataArray[i]);
//Do something
}
// GRID LOGIC HERE
var obj = { width: 800, height: 400, title: "Notes" };
obj.colModel = [
{ title: "NotesTitle", width: 500, dataType: "string" },
{ title: "NotesText", width: 500, dataType: "string" }
];
obj.dataModel = { data: DataArray }; // Data Array goes here
$("#grid_array").pqGrid(obj);
}
});
});
</script>
我在VS中附加了我的Watch选项卡的屏幕截图,以及调试后网格呈现的截图。
有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
如果问题只是将其转换为对象数组,请看一下这一行:
$.each(data.d, function (i, item) {
DataArray[i] = { NotesTitle: item.NotesTitle.trim(), NotesText:item.NotesText.trim() };
})
<强>更新强> 看一下这个例子,你需要一个数组数组
$.each(data.d, function (i, item) {
DataArray[i] = [ item.NotesTitle.trim(), item.NotesText.trim() ];
})