美好的一天,我想得到一些关于我在这里可能做错的地方的意见。
我正在使用 Flexigrid(由 Paul Marinas 提供),但我不断收到下面的错误,并且 Flexgrid 不显示记录
(通过 Firebug )
“row.cell 未定义[中断此错误] if (typeof row.cell[idx] != "undefined") [flexigrid.js 第 356 行]”。
下面是我的类(class)的 json 响应:
{“页”:1,“行”:[{“已批准”:false,“公司名称”:“y”,“添加日期”:1331606797706,“文件名”:“x111.txt”,“isdone”: false,"状态":"0"},{"已批准":false,"公司名称":"x","添加日期":1331605479681,"文件名":"z222.txt","isdone":false,"状态":"0"}],"总计":2}
这是 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) ,.. ] }]
查看以下链接
关于java - JQuery Flexigrid 帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9695617/