Flexigrid不显示数据

时间:2012-04-26 08:39:57

标签: jquery json grid flexigrid

我最近开始研究一个Web项目。我的要求是使用Flexigrid Jquery插件从数据库中渲染一些数据块。在服务器端,我使用Jackson来格式化数据。我的jquery脚本如下所示:

<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"}]

出于某种原因,我的桌子仍然是空的。如果您有任何建议,请提供帮助。

我认为来自name的{​​{1}}选项需要与json数据中的密钥完全匹配,对于我的案例colModeluserid

它可能与字符编码有关吗?

谢谢!

1 个答案:

答案 0 :(得分: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"]}
]}

您需要包含“page”,“total”和“rows”字段,还包括“id”和“cell”字段。 “cell”:[]括号中包含的值是flexigrid用于渲染或填充网格的值,我使用jsp文件模拟答案以进行测试,My grid有4个字段,如您所见,它们充满了答案中每个细胞区域的值。

我正在构建一个JACKSON可以渲染的对象,但是我仍然正在处理它,我必须实现的唯一线索是,如果你发送一个ArrayList,则返回一个[]响应,如果你只返回一个Oject,或者JavaBean它返回一个{}响应。

希望此信息有助于。

Manuel Santillan El Leon