2010-11-30 10 views
1

のように見えることはできません空白のセルは、以下のjqGridコードがhttp://cablegate.politicswiki.ie/stackoverflow.htmljqGridは

<script type="text/javascript"> 
$(document).ready(function(){ 
    jQuery("#list2").jqGrid({ 
     url:'http://tables.googlelabs.com/api/query?sql=SELECT * FROM 333136 LIMIT 10&jsonCallback=?', 
     datatype: "json", 
     colModel:[ 
      {name:'ident',index:'ident',label:'ident', width:55}, 
      {name:'date',index:'date',label:'date', width:90}, 
      {name:'sourceId',index:'sourceId',label:'sourceId', width:100}, 
      {name:'source',index:'source',label:'source', width:80}, 
      {name:'tags',index:'tags',label:'tags', width:200}  
     ], 
     jsonReader: { 
      repeatitems: false, 
      root: function (obj) { 
       var rows = new Array(); 
       for(var i = 0; i < obj.table.rows.length;i++) 
       { 
        var row = new Object(); 
        row.id = obj.table.rows[i][0]; 
        row.cell = obj.table.rows[i]; 
        rows[i] = row; 
       } 
       return rows; 
      }, 
      page: function (obj) { return 1; }, 
      total: function (obj) { return 1; }, 
      records: function (obj) { return obj.table.rows.length; } 
     }, 
     rowNum:10, 
     rowList:[10,20,30], 
     pager: '#pager2', 
     sortname: 'id', 
     viewrecords: true, 
     sortorder: "desc", 
     caption:"JSON Example" 
    }); 
    jQuery("#list2").jqGrid('navGrid','#pager2',{edit:false,add:false,del:false}); 
}); 
</script> 

を仕事に戻り、それが仕事を得るために多くのことを試してみました。それは何もしていないようです。

+0

に従っているあなたは、任意の解決策を見つけましたか?私は同じことを経験しています... – Benny

+0

@ベニー:私の答えに変更されたコードを見てください – Oleg

答えて

1

非常に興味深い質問があります。だから私は少しあなたのコードを変更し、それは今動作します。結果はライブhereを見ることができます。

対応するJavaScriptのコードが

jQuery(document).ready(function() { 
    jQuery("#list2").jqGrid({ 
     url: 'http://tables.googlelabs.com/api/query?sql=' + 
       encodeURI('SELECT * FROM 333136 LIMIT 10') + '&jsonCallback=?', 
     postData: "",  // don't send any typical jqGrid parameters 
     datatype: "json", // or "jsonp" 
     colModel:[ 
      {name:'ident',index:'ident',key:true,width:60,sorttype:'int'}, 
      {name:'date',index:'date', width:130}, 
      {name:'sourceId',index:'sourceId',width:80,sorttype:'int'}, 
      {name:'source',index:'source',width:150}, 
      {name:'tags',label:'tags',width:350}  
     ], 
     jsonReader: { 
      cell: "", // the same as cell: function (obj) { return obj; } 
      root: "table.rows", 
      page: function (obj) { return 1; }, 
      total: function (obj) { return 1; }, 
      records: function (obj) { return obj.table.rows.length; } 
     }, 
     rowNum:10, 
     rowList:[10,20,30], 
     pager: '#pager2', 
     sortname: 'id', 
     sortorder: "desc", 
     viewrecords: true, 
     loadonce: true, 
     height: "100%", 
     caption: "How to query Google Fusion Tables" 
    }); 
    jQuery("#list2").jqGrid('navGrid','#pager2',{edit:false,add:false,del:false}); 
}); 
+0

それはmann ..働いてくれてありがとう... –

+0

@VishnudevK:あなたは大歓迎です! [別の答え](http://stackoverflow.com/a/9588051/315935)でURLの不要な情報を直接エンコードするのではなく、 'datatype: 'jsonp''と' postData'が使われます。 – Oleg

+0

しかし、同じ例では、 "json.html"に自分のjson文字列を使用してその空白の表を表示しています。 –