当前位置: 代码迷 >> Java Web开发 >> Extjs form 表单数据读取后显示失败,reader,model,该怎么解决
  详细解决方案

Extjs form 表单数据读取后显示失败,reader,model,该怎么解决

热度:239   发布时间:2016-04-17 11:08:43.0
Extjs form 表单数据读取后显示失败,reader,model
问题如题


ext代码如下:
JScript code
<script type="text/javascript">Ext.require([    'Ext.form.*',    'Ext.data.*']);Ext.onReady(function(){            var app = new bb.SouthCenter();    });    Ext.define('bb.SouthCenter',{    extend: 'Ext.form.Panel',    initComponent: function(){//                 Ext.define('bb.formItem',{//在 gridform中使用            extend: 'Ext.data.Model',            fields : [                {name:'SiteID',mapping:'SiteID'}                ,{name:'SiteName',mapping:'SiteName'}            ]        });                Ext.apply(this,{        renderTo: 'form-ct',        frame: true,        title:'XML Form',        width: 340,        bodyPadding: 5,        waitMsgTarget: true,        fieldDefaults: {            labelAlign: 'right',            labelWidth: 85,            msgTarget: 'side'        },        reader : this.creatReader(),        items: [{                    xtype:'textfield',                    fieldLabel: 'SiteID',                    name: 'SiteID'                }, {                    xtype:'textfield',                    fieldLabel: 'SiteName',                    name: 'SiteName'                }],        buttons: [{            text: 'Load',            listeners:{                        scope: this,//范围                        click:this.loadurl                    }            }]        });        this.callParent(arguments);    },    loadurl:function(){        this.getForm().load({            url: '/database/item.txt',            waitMsg: 'Loading...'        });    },    creatReader:function(){        this.Reader=Ext.create('Ext.data.reader.Array', {            model:'bb.formItem',            record : 'items',            implicitIncludes:true       });       return this.Reader;    }    });</script>


json信息如下:
JScript code
{items:{    SiteID:'ID1',    SiteName:'marshalmackes',    }}


可以加载json数据,但是无法显示到表单里。
而且如果不用define封装form.Panel 而直接用var formpanel=Ext.create();的形式数据显示没问题。


------解决方案--------------------
只想说两点:1,json中的根结点名与grid中的root一定要一致的。2,像这种初始化的,一般可先得到grid中的值,在对应window中做初始化赋值。
------解决方案--------------------
向楼主学习!自己的自己来回答,好跟大家分享。把json中的items改成data,ext中的record 也相对应改一下就ok了
估计是ext对于form panel就是只能用这个的。
  相关解决方案