首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

ExtJs Grid有关问题

2013-11-15 
ExtJs Grid问题!这我的项目的结构Model:Ext.define(user,{extend : Ext.data.Model,fields : [{name:

ExtJs Grid问题!
这我的项目的结构ExtJs Grid有关问题
Model:
Ext.define("user",{
        extend : 'Ext.data.Model',
    fields : [
        {name: 'name', type: 'string'},
        {name: 'email', type: 'string'},
        {name: 'phone', type: 'string'}
    ]
});

store:
Ext.create("Ext.data.Store",{
        model : "user",
        storeId : "usersStore",
        /*data: [
        { name: 'Lisa', email: 'lisa@simpsons.com', phone: '555-111-1224' },
        { name: 'Bart', email: 'bart@simpsons.com', phone: '555-222-1234' },
        { name: 'Homer', email: 'home@simpsons.com', phone: '555-222-1244' },
        { name: 'Marge', email: 'marge@simpsons.com', phone: '555-222-1254' }
    ]*/
        proxy : {
                type: 'ajax',
        url : './TestData.jsp',
        reader: {
            type: 'json',
            root: 'users'
        },
        writer : {
                type:"json"
        }
        },
        
        autoLoad : true
});


Grid:
function(){
        Ext.onReady(function(){
                var s = Ext.data.StoreManager.lookup("usersStore");
                window.alert(s.getCount());
                
                Ext.tip.QuickTipManager.init();
                
                Ext.create('Ext.grid.Panel', {
                    renderTo: Ext.getBody(),
                    store: Ext.data.StoreManager.lookup("usersStore"),
                    width: 400,
                    height: 200,
                    title: 'Grid',
                    columns: [
                        {text: 'Name',sortable: true,dataIndex: 'name'},
                        {text: 'Email Address',sortable: true,dataIndex: 'email'},
                        {text: 'Phone Number',sortable: true,dataIndex: 'phone'}
                    ]
                });
        })
})();


jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<html>
  <head>
    <title>My JSP 'TestData.jsp' starting page</title>
  </head>

  <body>
    <%
    System.out.print("{"total":"3", "users":[{ "name": "Lisa", "email": "lisa@simpsons.com", "phone": "555-111-1224"},{ "name": 'Bart', "email": "bart@simpsons.com", "phone": "555-222-1234" }]}");


    %>
  </body>
</html>
最后显示的结果是:
ExtJs Grid有关问题
本人新手刚接触这玩意儿,很多的不懂,求大家帮忙看看。
访问后后台打印出来的,感觉也没错啊!

你上面的输出结构更你的例子不一样,是不是你不小心写错这个了, 比如你的proxy里的root是 users 而你的截图不是。。

另外一般这种问题,从几个角度入手,使用firebug看看 你的ajax请求是否发出去了 ,并且看下返回是否是正确的返回,然后看下你的grid的各个config
[解决办法]
你debug跟一下看看后台返回的形式是什么样是data:{();()}这样的还是{();()}
[解决办法]
那前台可以直接接到var storeUser = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({ url : '/enhancement/equipMaster_search.action', method : 'POST' }),
reader : new Ext.data.JsonReader({
totalProperty: 'total',root : 'list'
  }, [
 {name : 'equipnum', mapping : 'equipnum'},
 {name : 'demoynI', mapping : 'demoynI'}, 
     {name : 'demoyn', mapping : 'demoyn'}, 
     {name : 'useynI', mapping : 'useynI'},
 {name : 'useyn', mapping : 'useyn'},
 {name : 'prdtype', mapping : 'prdtype'},
 {name : 'prdsrnum', mapping : 'prdsrnum'},
         {name : 'remark1', mapping : 'remark1'},
 {name : 'remark2', mapping : 'remark2'}, 
 {name : 'salesgCode', mapping : 'salesgCode'},
 {name : 'gssDate', mapping : 'gssDate'},
 {name : 'gsfDate', mapping : 'gsfDate'},
         {name : 'createDate', mapping : 'createDate'},
 {name : 'updateDate', mapping : 'updateDate'}, 
 {name : 'stprd', mapping : 'stprd'},
 {name : 'style', mapping : 'style'},
 {name : 'prdtypeCode', mapping : 'prdtypeCode'},
     {name : 'credt', mapping : 'credt'}
]),
listeners :{
'load' : function(store,recodes,options){ 
if(store.getCount() == 0){
                                          alert('查询结果有0条记录');
     }  
 }
            }
         
});
格式就不整理啦root那个list你换成你后台检出表头就可以
[解决办法]
我汗大哥,代理分好多种,你后台返回格式用aJAX不行,如果是{();()}这中就是OK
[解决办法]
不行aaaaaaaaaaaaaaaa
[解决办法]
System.out.print("{'name':'Bart','email':'bart@simpsons.com','phone':'555-222-1234'}");
这种
[解决办法]
你把贴结了啊大哥,我块没分啊

热点排行
Bad Request.