2012-03-14 8 views
1

こんにちは、私はここで間違っているかもしれないところにいくつかの入力をしたいと思います。

私は(ポール・マリーナによる)flexigridを使用していると私は(放火犯経由)の下に、このエラーを取得し、フレキシブルグリッドコントロールは、レコード

を表示しません保つ
「row.cellは未定義[このエラーのブレイク]の場合(typeof row.cell [idx]!= "undefined")[flexigrid.js line 356] "を参照してください。以下
は私のクラスからのJSONレスポンスです:

{ "ページ":1、 "行":[{ "承認":偽、 "会社名": "Y"、 "dateadded":1331606797706、 "ファイル名": "x111.txt"、 "isdone":false、 "status": "0"}、{"承認":false、 "companyname": "x"、 "dateadded":1331605479681、 "filename" "z222.txt"、 "isdone" 偽 "ステータス": "0"}]、 "合計":2}ここで

がflexigridインスタンスである:

JQuery 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のプラグインのチュートリアルやフォーラムに続くが、私はまだかなりそれを動作させることはできません。
このエラーを明確にするための助けを借りてください。



答えて

0

あなたの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

+0

感謝のためにレスポンス。クラスからの以前の応答はflexigridのpreProcess引数に渡されます。あなたが言及した必要な形式への応答の書式設定。しかし、私はあなたが言及を使用して再度それを試みたが、まだデータが表示されませんでした。ありがとうございました.. –

+0

https://gist.github.com/390274 – Nemoy

+0

{"page":1、 "total":2、 "rows":{{"approved":false、 "companyname ":" y "、" dateadded ":1331606797706、" filename ":" x111.txt "、" isdone ":false、" status ":" 0 "}、{"承認済み ":false、" companyname ":" x " "、" dateadded ":1331605479681、" filename ":" z222.txt "、" isdone ":false、" status ":" 0 "}]}

これにjsonフォーマットを取得することができましたが、flexigridは同じエラー。 –