论坛首页 AJAX版 EXT

GRID的问题,使用HttpProxy但无记录显示

浏览 1143 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2007-12-28 关键字: httpproxy grid
这是我参考http://www.javaeye.com/topic/141344做的一个测试页面
但是没有提示也没有记录显示出来,使用的是HttpProxy,其他基本不变
main.html:
<html>   
<head>   
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">   
    <title>test</title>   
    <link rel="stylesheet" type="text/css" href="ext-all.css" /> 
    <script type="text/javascript" src="ext-base.js"></script>   
    <script type="text/javascript" src="ext-all.js"></script> 
    <script type="text/javascript" src="paging.js"></script>

</head>   
<body>   
    <div id="topic-grid"></div>   
</body>   
</html> 


paging.js:
Ext.onReady(function(){   
    var store = new Ext.data.Store({   
        proxy: new Ext.data.HttpProxy({  //区别1,用的 HttpProxy,而不是ScriptTagProxy
            url: 'data.json',            //区别2,直接的json数据
			method: 'GET'
        }),   
        reader: new Ext.data.JsonReader({   
            root: 'students',   
            totalProperty: 'counts',   
            id: 'id',   
            fields: ['student_id', 'name', 'hao','zhong','ca']   
        })   
    });   
    var cm = new Ext.grid.ColumnModel([{   
           id: 'id',    
           header: "student_id",   
           dataIndex: 'ca',   
           width: 420   
         
        },{   
           header: "name",   
           dataIndex: 'zhong',   
           width: 100   
        },{   
           header: "hao",   
           dataIndex: 'hao',   
           width: 70,   
           align: 'right'   
        }]);   
   
    cm.defaultSortable = true;   
    var grid = new Ext.grid.GridPanel({   
        el:'topic-grid',   
        width:700,   
        height:500,   
        title:'学生信息表',   
        store: store,   
        cm: cm,   
        trackMouseOver:false,   
        sm: new Ext.grid.RowSelectionModel({selectRow:Ext.emptyFn}),   
        loadMask: true,   
        viewConfig: {   
            forceFit:true,   
            enableRowBody:true,   
            showPreview:true,   
            getRowClass : function(record, rowIndex, p, store){   
                if(this.showPreview){   
                    p.body = ''+record.data.excerpt+'';   
                    return 'x-grid3-row-expanded';   
                }   
                return 'x-grid3-row-collapsed';   
            }   
        },   
        bbar: new Ext.PagingToolbar({   
            pageSize: 25,   
            store: store,   
            displayInfo: true,   
            displayMsg: ' {0} - {1} of {2}',   
            emptyMsg: "没有可以显示的数据"   
        })   
    });   
    grid.render();   
    store.load({params:{start:0, limit:25}});   
});


data.json:
{   
 "counts": "1450",   
 "students": [   
  {   
   "student_id": "9999006150000003",   
   "ca": "0",   
   "hao": "1",   
   "className": "06(15)",   
   "name": "\u533a\u7fe0\u7389",   
   "zhong": "0",   
   "id": "247"},   
  {   
   "student_id": "9999006150000005",   
   "ca": "0",   
   "hao": "0",   
   "className": "06(15)",   
   "name": "\u5218\u91d1\u9022",   
   "zhong": "1",   
   "id": "248"},   
  {   
   "student_id": "9999006150000008",   
   "ca": "0",   
   "hao": "1",   
   "className": "06(15)",   
   "name": "\u6881\u8d3a\u5f3a",   
   "zhong": "0",   
   "id": "249"}
]
}

但是结果grid界面能出来,记录显示不出来,也没有显示js错误
   
最后更新时间:2007-12-28
没有callback
   
0 请登录后投票
最后更新时间:2007-12-28
呵呵~希望你是放在服务器上了。
如果没放在服务器上出现这个问题,参考一下这里的解释:http://203.93.254.59:8889/extdoc/html/ext-ch-01.html#d0e109
   
0 请登录后投票
最后更新时间:2007-12-28
已经解决问题
似乎data.json无法从浏览器访问造成,也就是Ext.data.HttpProxy无法获取到json数据
现在Ext.data.HttpProxy和ScriptTagProxy都实验成功了。谢谢
   
0 请登录后投票
最后更新时间:2008-01-09
lz能详细讲讲怎么解决的吗?我现在也被这个问题所困扰
   
0 请登录后投票
最后更新时间:2008-04-17
xyz20003 写道
呵呵~希望你是放在服务器上了。
如果没放在服务器上出现这个问题,参考一下这里的解释:http://203.93.254.59:8889/extdoc/html/ext-ch-01.html#d0e109



我用myeclipse发布了,但是显示不出来数据,没有错误信息
   
0 请登录后投票
最后更新时间:2008-09-03
我的JS代码如下
Ext.onReady(function() {

    // create the Data Store
    var store = new Ext.data.JsonStore({
        root: 'person',
        totalProperty: 'totalCount',
        idProperty: 'id',
        remoteSort: true,
        fields: ['id', 'name', 'sex', 'age'],
        proxy: new Ext.data.HttpProxy({
            url: '/DataService/ArrayJSONHandler.ashx',
            method: 'GET'
        })
    });
    store.setDefaultSort('name', 'asc');

    // pluggable renders
    function renderName(value, p, record) {
        return String.format(
                '<a href="http://extjs.com/forum/showthread.php?t={1}" target="_blank">{0}</a>',
                value, record.id);
    }

    var pagingBar = new Ext.PagingToolbar({
        pageSize: 10,
        store: store,
        displayInfo: true,
        displayMsg: '\u663e\u793a\u6761\u6570 {0} - {1} of {2}',
        emptyMsg: "\u65e0\u8bb0\u5f55!"
    });

    var grid = new Ext.grid.GridPanel({
        el: 'grid-example',
        width: window.screen.x,
        height: 500,
        title: '\u5206\u9875\u6d4b\u8bd5',
        store: store,
        trackMouseOver: false,
        disableSelection: true,
        loadMask: true,

        // grid columns
        columns: [{
            header: "\u7f16\u53f7",
            dataIndex: 'id',
            width: 420,
            hidden: true
        }, {
            header: "\u59d3\u540d",
            dataIndex: 'name',
            width: 100,
            renderer: renderName,
            sortable: true
        }, {
            header: "\u6027\u522b",
            dataIndex: 'sex',
            width: 70,
            sortable: true
        }, {
            header: "\u5e74\u9f84",
            dataIndex: 'age',
            width: 150,
            sortable: true
				}],
            // paging bar on the bottom
            bbar: pagingBar
        });

        // render it
        grid.render();

        // trigger the data store load
        store.load({ params: { start: 0, limit: 10} });
    });

问题如下:
第一页结果显示出来了,但是点击下一页后为什么没有记录显示了啊,Ext.PagingToolbar不是自动计算参数的吗?为什么不行,楼主是怎么解决的啊?麻烦告诉一声谢谢!
   
0 请登录后投票
论坛首页 AJAX版 EXT

跳转论坛:
JavaEye推荐