2012-04-26 58 views
2

我最近開始在web項目上工作。我的要求是使用Flexigrid Jquery插件來渲染數據庫中的一些數據塊。在服務器端,我使用Jackson來格式化數據。我的jQuery腳本是這樣的:Flexigrid不顯示數據

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#customers").flexigrid({ 
      url: 'JsonHandler', 
      dataType: 'json', 
      colModel : [ 
      {display: 'Id', name : 'userid',}, 
      {display: 'Name', name : 'fullname',}, 
      ], 
      title: 'Table', 
      width: 700, 
      height: 200 
     }); 
     }); 
</script> 

服務器發送有效的JSON數據到瀏覽器(這是我在Firebug中獲得):

[{"userid":"a","fullname":"John Doe"}, 
{"userid":"b","fullname":"Mark Brown"}, 
{"userid":"c","fullname":"Mads Borsen"}] 

出於某種原因,我的桌子依然是空的。如果你有一些建議,請幫忙。

我認爲從colModelname選項需要精確匹配的JSON數據的關鍵,我的情況useridfullname

它可能與字符編碼有關嗎?

謝謝!

+0

我剛剛想通了,它實際上涉及到JSON數據的格式....似乎flexigrid需要特定的格式,因此,即使接收到的數據是有效的(json明智)它可能仍然不適合(因此無效)的flexigrid。我在哪裏可以找到Flexigrid數據格式的確切要求? – cmcaba 2012-04-26 09:26:55

回答

3

的格式FLEXIGRID需要呈現的是這樣的

{"page":"1","total":"1","rows": 
[ 
    {"id":"1","cell":["1","55144602","Z014162","C"]}, 
    {"id":"3","cell":["3","55189392","Z014162","C"]}, 
    {"id":"4","cell":["4","55189393","Z014162","C"]}, 
    {"id":"5","cell":["5","55189394","Z014162","C"]}, 
    {"id":"6","cell":["6","55189395","Z014162","C"]} 
]} 

您需要包括了「網頁」,「總」和「行」領域,也是「ID」和「細胞「領域。包含在「cell」:[]括號中的值是flexigrid用來渲染或填充網格的值,我用jsp文件模擬答案以進行測試,我的網格有4個字段,正如你所看到的,他們充滿了答案的每個單元格字段的值。

建立一個JACKSON可以呈現的對象,但我仍然在努力,唯一的線索,我必須做到這一點是,如果你發送一個ArrayList傑克遜返回一個[]響應,如果你只返回一個Oject,或一個JavaBean它會返回一個{}響應。

希望此信息有幫助。

曼努埃爾·桑蒂薩爾瓦多萊昂

+0

謝謝!我在前段時間弄清楚了:) – cmcaba 2012-07-04 07:33:19