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

ExtJs 怎么接受 Dwr回调得到的数据 作为数据源 root=""

2012-03-28 
ExtJs 如何接受 Dwr回调得到的数据 作为数据源 root? - Web 开发 / Ajax我是ExtJs的新手, 请教一下各位

ExtJs 如何接受 Dwr回调得到的数据 作为数据源 root=""? - Web 开发 / Ajax
我是ExtJs的新手, 请教一下各位前辈, 最近在做Spring + Hibernate + ExtJs + dwr 的整合 单表操作
一开始准备做个grid展示下 单表的数据: 用dwr获得后台service的数据

Java code
public List findAll() { //这是后台数据 return bookDAO.findAll();}

接下来我就在js文件中这样写
JScript code
Ext.onReady(function(){    getBook.findAll(callBackResult);        function callBackResult(_data){        function formatDate(value){            return value ? value.dateFormat('M d,Y') :'';        };        var fm = Ext.form, Ed = Ext.grid.GridEditor;        var ds = new Ext.data.Store({            proxy: new Ext.data.MemoryProxy(eval(_data)),            reader: new Ext.data.JsonReader({root:'Book'},[                {name: 'bookId'},                  {name: 'bookName'},                  {name: 'pubType'},                {name: 'price'}            ])        });        var cm = new Ext.grid.ColumnModel([            {id: 'bookId', header: "BOOKID", dataIndex: 'bookId',  width: 200, align: 'center'},            {header: "BOOKNAME", dataIndex: 'bookName', width: 100, align: 'center', editor: new Ed(new fm.TextField({allowBlank: false}))},            {header: "PUBDATE", dataIndex: 'pubDate', width: 100, align: 'center', editor: new Ed(new fm.DateField({format:'m/d/y', minValue:'01/01/06',disabledDays: [0, 6],disabledDaysText: 'Plants are not available on the weekends'}))},            {header: "PRICE", dataIndex: 'price', width: 100, align: 'center', editor: new Ed(new fm.TextField({allowBlank: false}))}        ]);        cm.defaultSortable = true;        var sm=new Ext.grid.RowSelectionModel();                var grid = new Ext.grid.Grid('editor-grid', {            ds: ds,            cm: cm,            selModel: sm,            autoSizeColumns: true,             monitorWindowResize: false,             trackMouseOver: true        });        grid.render();        ds.load();            }});


问题就来了 数据无法展示 主要是root不知道该怎么写 希望大家能帮助我, 觉得我发的不够详细 请指出来我会进行修改

[解决办法]
把:
 var ds = new Ext.data.Store({
proxy: new Ext.data.MemoryProxy(eval(_data)),
reader: new Ext.data.JsonReader({root:'Book'},[
{name: 'bookId'},
{name: 'bookName'},
{name: 'pubType'},
{name: 'price'}
])
});
换成:
var ds = new Ext.data.JsonStore({
data: eval(_data),
fields: ['bookId', 'bookName', 'pubType', 'price'] 
});

[解决办法]
既然用了DWR将数据异步获取到了 还Proxy干嘛 
直接simpleStore将数据加载至grid中即可 相当于grid加载假数据~~~

热点排行