日期:2014-05-16  浏览次数:20311 次

Extjs使用grid,数据库数据不显示
各位,帮个忙。初学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>
运行结果:


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