java - JQuery Flexigrid 帮助

标签 java javascript jquery flexigrid

美好的一天,我想得到一些关于我在这里可能做错的地方的意见。

我正在使用 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) ,.. ] }]

查看以下链接

https://gist.github.com/390274

关于java - JQuery Flexigrid 帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9695617/

相关文章:

java - eclipse 中没有 java 项目选项

java - 在 spring mvc 应用程序中引用文件系统的最佳方式

javascript - 使用 jsTimezoneDetect 脚本显示三个字母的时区代码

javascript - 绑定(bind)事件处理程序在 AJAX 操作后不再工作

javascript - 文件存在但收到 ENOENT 错误

javascript - 在按键上,在 X 秒调用函数后停止

java - 无法以编程方式使用参数创建多个 EditText

java:打印JFrame的内容

javascript - 单击外部时关闭 reactstrap 模态

javascript - 从 DOM 上下文调用 casperjs 捕获(评估)