extjs3.0帮助文档: DataReader( Object meta, Array/Object recordType ) Create a new DataReader 参数: meta : Object Metadata configuration options (implementation-specific). 元数据配置选项(...-...) recordType : Array/Object Either an Array of Field definition objects 任意一个Field定义的对象数组 which will be passed to Ext.data.Record.create, 作为对象传递给Ext.data.Record.create, or a Record constructor created using Ext.data.Record.create. 或一个由Ext.data.Record.create创建的Record结构. 返回: void 内部关键js代码: Ext.data.DataReader = function(meta, recordType){ this.meta = meta; this.recordType = Ext.isArray(recordType) ? Ext.data.Record.create(recordType) : recordType; this.buildExtractors(); }; ...略... rs.id = data[this.meta.idProperty]; ...略... return (data && Ext.isObject(data) && !Ext.isEmpty(data[this.meta.idProperty])) ? true : false; 得出结论: a.recordType可以直接是一个Field结构的数组,由内部代码加上Ext.data.Record.create(...)。 b.recordType可以是已经加上Ext.data.Record.create(...)的Field数组。 c.meta中可以放属性:idProperty。 extjs3.0帮助文档: XmlReader( Object meta, Object recordType ) Create a new XmlReader. 参数: meta : Object Metadata configuration options recordType : Object Either an Array of field definition objects as passed to Ext.data.Record.create, 任意一个field定义的对象数组作为参数传递给Ext.data.Record.create or a Record constructor object created using Ext.data.Record.create. 或者一个使用Ext.data.Record.create创建的Record结构对象。 返回: void 可以看出需要传两个obj进去, 查看内部js代码 Ext.data.JsonReader = function(meta, recordType){ //如果没有meta,那创建一个Obj给meta。 meta = meta || {}; //把idProperty等添加到meta,如果它没有这些成员。 Ext.applyIf(meta, { idProperty: 'id', successProperty: 'success', totalProperty: 'total' }); //调用父类 Ext.data.JsonReader.superclass.constructor.call(this, meta, recordType || meta.fields); }; ...略... var sid = this.meta.idPath || this.meta.id; var totalRecords = 0, success = true; if(this.meta.totalRecords){ totalRecords = q.selectNumber(this.meta.totalRecords, root, 0); } if(this.meta.success){ var sv = q.selectValue(this.meta.success, root, true); success = sv !== false && sv !== 'false'; } 可知:a.meta中可以有下列属性:idProperty、successProperty、totalProperty、fields、idPath、id、totalRecords、success。 b.recordType可以为空,但要在meta中写fields。 c.调用了父类构造,所以其他的跟父类一样。 extjs3.0帮助文档: JsonReader( Object meta, Array/Object recordType ) Create a new JsonReader Create a new JsonReader 参数: meta : Object Metadata configuration options. recordType : Array/Object Either an Array of Field definition objects (which will be passed to Ext.data.Record.create, or a Record constructor created from Ext.data.Record.create. 返回: void 查看内部js代码: Ext.data.JsonReader = function(meta, recordType){ meta = meta || {}; Ext.applyIf(meta, { idProperty: 'id', successProperty: 'success', totalProperty: 'total' }); Ext.data.JsonReader.superclass.constructor.call(this, meta, recordType || meta.fields); }; ...略... if (Ext.isEmpty(o[this.meta.root])) { throw new Ext.data.JsonReader.Error('root-emtpy', this.meta.root); } else if (o[this.meta.root] === undefined) { throw new Ext.data.JsonReader.Error('root-undefined-response', this.meta.root); } 可知:a.meta中可以有下列属性:idProperty、successProperty、totalProperty、root、fields b.recordType可以为空,但要在meta中写fields。 c.调用了父类构造,所以其他的跟父类一样 总结:...
推荐整理分享extjs DataReader、JsonReader、XmlReader的构造方法,希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
ExtJS Window 最小化的一种方法 下面是通过重新它的minimize函数来实现的一种最小化方法:HTML:inputtype="button"id="btn"value="OpenWin"onclick="openWin();"/divid="divWin"/divahref="javascript:openWin();"id="aRe
ExtJS的FieldSet的column列布局 以下是自己扩展的FieldSet:ME.Base.FieldSet=Ext.extend(Ext.form.FieldSet,{layout:'column',fieldSetItems:[],autoScroll:false,defaults:{layout:'form',labelAlign:'right',labelWidth:,columnWidth
ExtJS Grid使用SimpleStore、多选框的方法 ///referencepath="./vswd-ext_2.0.2.js"/Ext.onReady(function(){vardata=[[1,"wilson.fu",],[2,"wilson.fu2",],[3,"wilson.fu3",]];varsqldata=newArray();for(vari=0;i;i++){sqldata.push([i.toString(),