2011-02-16 11 views
0

jqGridとJSONデータで問題が発生しました。基本的にグリッドはデータを表示しませんが、代わりに[object Object]をテーブルの最初の列に出力します。以下は、私が使用しているデータのスニペットです。これは有効なJSONです。以下はJSON出力の[オブジェクト0オブジェクト]

{ 
    "currpage": "1", 
    "totalpages": "3", 
    "totalrecords": "70", 
    "rows": [ 
    { 
     "id": "uid\u003dAndrewBryant", 
     "cells": [ 
      { 
       "HOURS_ENTITLED": "203", 
       "HOURS_TAKEN": 0, 
       "NAME": "uid\u003dAndrewBryant", 
       "SICKNESS_TAKEN": 0, 
       "TAKEN_TOIL": 0, 
       "TOTAL_TOIL": 0, 
       "YEAR_ENTILEMENT": "2011" 
      } 
     ] 
    }, 

私はjqGridの機能を呼び出すために使用していたコードです:私は

$(document).ready(function() { 
    $("#statsTable").jqGrid({ 
     url: "http://cw-epuip-d01.tm-gnet.com:10040/wps/PA_Resource_Manager_1/JSONServlet", 
     datatype: "json", 
     mtype: "get", 
     jsonReader : { 
      root: "rows", 
      cell:"cells", 
      page: "currpage", 
       total: "totalpages", 
       records: "totalrecords", 
       id: "id" 
     }, 
     colNames: ['NAME', 'HOURS ENTITLED', 'HOURS TAKEN' ], 
     colModel: [ 
        {name:'NAME', index:'NAME'}, 
        {name:'HOURS_ENTITLED', index:'HOURS_ENTITLED'}, 
        {name:'HOURS_TAKEN', index:'HOURS_TAKEN'} 
      ] 
    } 
    ); 
}); 

何をしないのですか?

答えて

0

まず、 "uid = AndrewBryant"をidという値として使用することはお勧めしません。あなたはそれが本当に悪い<tr id="uid=AndrewBryant">に続くことを理解する必要があります。正しいIDの説明については、hereを参照してください。

次は、現在jsonReader(追加repeatitems:false)の小さな変化および追加jsonmap財産のすべての列のグリッドが表示される変更後の

jsonReader : { 
    root: "rows", 
    page: "currpage", 
    total: "totalpages", 
    records: "totalrecords", 
    repeatitems: false 
}, 
colModel: [ 
      {name:'NAME', index:'NAME',jsonmap:'cells.0.NAME'}, 
      {name:'HOURS_ENTITLED', index:'HOURS_ENTITLED', 
      jsonmap:'cells.0.HOURS_ENTITLED'}, 
      {name:'HOURS_TAKEN', index:'HOURS_TAKEN',jsonmap:'cells.0.HOURS_TAKEN'} 
] 

で生成サーバーJSONファイルを読むことができます:hereを参照してください。

しかし、サーバーコードを少し変更し、jsonmapなしで読むことができるより標準的なJSONを作成することをお勧めします。 the jqGrid documentationを参照してください。

関連する問題