您好,我想了解一下我可能做错了什么
我正在使用flexgrid(Paul Marinas),我在下面不断收到这个错误,flexgrids不显示记录
(通过firebug)
"row.cell未定义[Break On This Error]if(typeof row.cell[idx]!="undefined")[flexigrid.js line 356]"
下面是我的类的json响应:
{"page":1,"rows":[{"approved":false,"companyname":"y","dateadded":1331606797706,"filename":"x111.txt","isdone":false、"status":"0"},{"approved":false
这是flexigrid实例:
$('#fgrid').flexigrid({
url: '/doValid/isvalid',
method: 'GET',
dataType: 'json',
colModel : [
{display : 'Company Name', name : 'companyname', width : 200, sortable : true, align: 'left'},
{display : 'File Name', name : 'filename', width : 150, sortable : true, align: 'left'},
{display : 'Date Uploaded', name : 'dateadded', width : 150, sortable : true, align: 'left'},
{display : 'approved', name : 'approved', width : 50, sortable : true, align: 'left'},
{display : 'done', name : 'isdone', width : 50, sortable : true, align: 'left'},
{display : 'Status', name : 'status', width : 300, sortable : true, align: 'left'}
],
preProcess: formatFlex,
sortname : 'companyname',
sortorder: 'asc',
useRp: true,
rp: 40,
usepager: true,
showTableToggleBtn : false,
singleSelect: true
});
这里是formatFlex函数:
function formatFlex(data) {
var dlist = Array();
$.each(data.rows, function(i,row){
var compname ="";
var flname="";
var dadded="";
var bapp=false;
var bisdone=false;
var sstat="";
$.each(row,function(i,v){
if(i == "companyname"){
compname = v;
} else if (i == "filename") {
flname = v;
} else if (i == "dateadded") {
dadded = v;
} else if (i == "approved") {
bapp = v;
} else if (i == "isdone") {
bisdone = v;
} else if (i == "status") {
sstat = v;
}
});
dlist.push({"companyname": compname, "filename": flname, "dateadded": dadded, "approved": bapp, "isdone": bisdone, "status": sstat});
//even done this format
//dlist.push({companyname: compname, filename: flname, dateadded: dadded, approved: bapp, isdone: bisdone, status: sstat});
});
//alert("page : " + data.page + ", total: " + data.total + ", rows: " + dlist);
return {
page: data.page,
total: data.total,
rows: dlist
};
}
已经学习了这个jquery插件的教程和论坛,但我仍然不能完全让它发挥作用
如有任何帮助澄清此错误,我们将不胜感激
谢谢
您的JSON格式错误,flexigrid的预期JSON格式为:
total: (no of rec),
page : (page no),
rows : [{cell: [ (col1 value) , (col2 value) ,.. ] },
{cell: [ (col1 value) , (col2 value) ,.. ] }]
检查以下链接
https://gist.github.com/390274