关于Extjs,后台传递json格式数据的加载问题

初学ext遇到一个问题:如图为后台的方法,

传递一个json格式的字符串,如:

{"root":[{"sprotid":0,"stayadd1":"水水水水水水水","stayadd2":"","trainadd1":"啊啊啊啊啊啊啊啊","trainadd2":"","traindate1":"","traindate2":""}]}

/*trainadd1 对应下午的‘训练地点’ stayadd1 对应下文的‘住宿地点’*/

客户端接收字符串的代码如下:

var cgxl_ds = new Ext.data.Store({
            id : "cgxl_id",
            proxy : {
                type : 'ajax',
                url : 'readCgxlAction.url',
            },
            reader : new Ext.data.JsonReader(
                    {root:'root'}, 
                    [
                     {name :'sprotid'},
                     {name :'stayadd1'},
                     {name :'stayadd2'},
                     {name :'trainadd1'},
                     {name :'trainadd2'},
                     {name :'traindate1'},
                     {name :'traindate2'}
                     ])
        });
        cgxl_ds.load({
            params : {
                active : "cgxl"
            }
        });

所得的数据要填充在客户端的表格中:

(红色方块内,我设置为“可读不可写”)

代码片段为

                title : "常规训练",
                layout : "form",
                items : [ {
                    xtype : 'fieldset',
                    title : '常规训练、住宿地点1及训练安排',
                    name : 'trainpanel1',
                    width : 599,
                    height : 140,
                    items : [ {
                        xtype : 'displayfield',
                        id : 'trainaddr1',
                        name : 'trainaddr1',
                        width : 480,
                        fieldLabel : '训练地点1',
                        blankText : '请输入训练地点'
                    }, {
                        xtype : 'displayfield',
                        id : 'stayaddr1',
                        name : 'stayaddr1',
                        width : 480,
                        fieldLabel : '住宿地点1',
                        blankText : '请输入住宿地点'
                    }, time_grid1 ]

我的问题是:

怎么把所得的数据填充上去??

千万里不及你
浏览 653回答 1
1回答

暮色呼如

在store中加入load事件,在这个事件中把数据填充上去。 var cgxl_ds = new Ext.data.Store({     ...     listeners:{       load:function(store, records, options){          Ext.getCmp('trainaddr1').setValue(records[0].get('sprotid'))       }    } });
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java