各位,帮个忙。初学EXTJS,想要将从数据库获得的数据加载到页面,结果grid控件正常显示,但是没有绑定数据。调试Action,显示正常执行,roadlist已经正常赋值。
注:代码一,temp.js文件
Ext.onReady(function(){    var gridlist = Ext.create('Ext.grid.Panel',{
renderTo : "gridtemp",

        title:'道路列表',
        width:270,
        height:480,
        frame : true,
        layout: 'fit',
        store : {
         fields : [
         {name : 'roadid', type : 'Integer'},
         {name : 'road_name', type : 'String'}
         ],
         proxy : {
         type : 'ajax',
         url : 'jsonroadinfo.action',
         reader : {
         type : 'json',
         root : 'roadlist'
         }
         },
         autoLoad : true
        },
        columns : [{
         text : '道路名称',
         width : 150,
         sortable : false,
         dataIndex : 'road_name'
        },{
         text : '道路编号',
         width : 110,
         sortable : false,
         dataIndex : 'roadid'
        }]
});
});
代码二,struts.xml
<package name = "jsoninfo" extends = "json-default">
<action name="jsonroadinfo" method = "getRoadwayInfo" class = "jsonroadinfo">
<result type = "json">
 <param name="excludeProperties">basicinfoservice</param>
</result>

</action>
</package>
代码三,about.jsp
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
<link rel="stylesheet" type="text/css" href="../extjs/resources/css/ext-all.css"/>
<script type="text/javascript" src="../extjs/ext-all.js"></script>
<script type="text/javascript" src="../extjs/local/ext-lang-zh_CN.js"></script>
<script type="text/javascript" src="../jsWithExt/temp.js"></script>
</head>
<body>
<div id = "gridtemp"></div>
</body>
</html>
运行结果:

解决方案 »

  1.   

    当然是数据格式错误了....
    ext  grid需要的数据源是一个json数组,其格式得看你对store对象的配置,
    就你现在的配置,后台字符串格式应该为:
    "[['道路编号1','道路名称1'],['道路编号2','道路名称2']]"
    这种,自己看看是不是吧
      

  2.   

    谢谢 wzs_xys
    我的程序里,roadlist是一个对象数组。对象的所有属性中,只有roadid和road_name两个属性赋值了,其他的属性都没有赋值。是不是这样导致json数组与store的配置不匹配?