请教各位熟悉EXT的大大,小弟初学EXT,现在在使用grid时碰到一个问题,从JSON中获取的数据无法显示在grid中,以二维数组的方式设置ds则可以正常显示数据,请教各位大大是啥原因,代码如下:
JSP代码:<%
  String start = request.getParameter("start");
  String limit = request.getParameter("limit");
  int index = 0;
  int pageSize = 0;
  try {
      if(start == null)
      {
          index = 0;
          pageSize = 15;
      } else
      {
          index = Integer.parseInt(start);
          pageSize = Integer.parseInt(limit);
      }
  
  String json = "{total:100,data:[";
  for (int i = index; i < pageSize + index; i++) {
  json += "{id:'" + i + "',name:'name" + i + "',descn:'descn" + i + "'}";
  if (i != pageSize + index - 1) {
  json += ",";
  }
  }
  json += "]}";
  System.out.println(json);
  response.getWriter().write(json);
  } catch(Exception ex) {
  }
  %>JS代码Ext.onReady(function(){
Ext.menu.RangeMenu.prototype.icons = {
  gt: 'img/greater_then.png', 
  lt: 'img/less_then.png',
  eq: 'img/equals.png'
};
Ext.grid.filter.StringFilter.prototype.icon = 'img/find.png';
    
Ext.state.Manager.setProvider(new Ext.state.CookieProvider());

<!-- var data = [-->
<!--         ['1','name1','descn1'],-->
<!--         ['2','name2','descn2'],-->
<!--         ['3','name3','descn3'],-->
<!--         ['4','name4','descn4'],-->
<!--         ['5','name5','descn5'],-->
<!--         ['6','name6','descn1'],-->
<!--         ['7','name7','descn2'],-->
<!--         ['8','name8','descn3'],-->
<!--         ['9','name7','descn2'],-->
<!--         ['10','name8','descn3'],-->
<!--         ['11','name8','descn3']-->
<!--     ];-->
<!--     var ds = new Ext.data.Store({-->
<!--      proxy: new Ext.data.MemoryProxy(data),-->
<!--      reader: new Ext.data.ArrayReader({}, [-->
<!--     {name: 'id'},-->
<!--     {name: 'name'},-->
<!--     {name: 'descn'}-->
<!--     ])-->
<!--     });-->
     var sm = new Ext.grid.CheckboxSelectionModel();
var cm = new Ext.grid.ColumnModel([
new Ext.grid.RowNumberer(),
sm,
{header:'编号',dataIndex:'id'},
{header:'名称',dataIndex:'name'},
{header:'描述',dataIndex:'descn'}
]);
cm.defaultSortable = true;
var ds = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({url:'test111.jsp'}),
reader: new Ext.data.JsonReader({
    totalProperty: 'total',
    root: 'data'}, 
    [
    {name: 'id'},
    {name: 'name'},
    {name: 'descn'}
    ]
  )
});

var grid = new Ext.grid.GridPanel({
title: 'Grid Filters Example',
enableColLock: false,
    el: 'grid-example',
    ds: ds,
    cm: cm,
    sm: sm,
    loadMask: {msg:'正在加载数据,请稍侯……'},
    autoHeight:true,
    width:700,
    bbar: new Ext.PagingToolbar({
    store: ds,
    pageSize: 5,
    displayInfo: true,
displayMsg: '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
emptyMsg: "没有记录"
  })
});
grid.render();

ds.load({params:{start: 0, limit: 5}});
});JSON返回的数据格式如下:
{total:100,data:[{id:'0',name:'name0',descn:'descn0'},{id:'1',name:'name1',descn:'descn1'},{id:'2',name:'name2',descn:'descn2'},{id:'3',name:'name3',descn:'descn3'},{id:'4',name:'name4',descn:'descn4'}]}
请教各位大大为什么上面的数据为什么不能正常显示在grid中