簡體   English   中英

JQuery Flexigrid幫助

[英]JQuery Flexigrid assistance

美好的一天,我想向我在這里可能做錯的地方提供一些意見。

我正在使用flexigrid(由Paul Marinas編寫),並且不斷出現以下錯誤,並且flexgrid不顯示記錄

(通過螢火蟲)
“如果(typeof row.cell [idx]!=“ undefined”)[flexigrid.js第356行],row.cell是未定義的[中斷此錯誤]。
以下是我班上的json響應:

{“ page”:1,“ rows”:[{“ approved”:false,“ companyname”:“ y”,“ dateadded”:1331606797706,“ filename”:“ 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM