Ext
- 格式:ppt
- 大小:49.00 KB
- 文档页数:9


Store(数据存储器)1、Ext.data.Store定义他需要知道数据源DataProxy,和数据解析方式DataReader才能正常工作而dataProxy是有proxy属性定义的数据解析器dataRader是有配置属性reader定义的步骤:1.var MyRecord = Ext.data.Record.Create({name:"title"},{name:"lgoinTims",type:int});2.var reader=new Ext.data.JsonReader({id:"id",root:rows,totalProperty:"results"},myRecord);3.var store=new Ext.data.Store({url:"link.ejf",proxy:dataProxy,reader:theReader});4.store.Load();前三部可以简写为:var store=new Ext.data.JSonStore({url:"link.ejf?cmd=list",totalProperty: "results",root: "rows",fields:['title', {name: 'username', mapping: 'author'},{name: 'loginTimes', type: 'int'},{name: 'lastLoginTime', mapping: 'loginTime', type: 'date'}]});DataReader 表示数据读取器,也就是数据解析器,其负责把从服务器或者内存数组、xml文档中获得的杂乱信息转换成ExtJS 中的记录集Record 数据对象,并存储到Store 里面的记录集数组中ExtJS 中提供了读取二维数组、JSon 数据及Xml 文档的三种数据解析器,分别用于把内存中的二级数组、JSON 格式的数据及XML 文档信息解析成记录集1)ArrayReader读取二维数组中的信息2)JsonReader于读取JSON 格式的数据信息标注:JSonReader 还有比较特殊的用法,就是可以把Store 中记录集的配置信息存放直接保存在从服务器端返回的JSON 数据中{'metaData': {totalProperty: 'results',root: 'rows',id: 'id',fields: [{name: 'title'},{name: 'username', mapping: 'author'},{name: 'loginTimes', type: 'int'}]},'results': 2, 'rows': [{ id: 1, title: '测试', author: '小王', loginTimes: 3 },{ id: 2, title: '新年好', author: 'williamraym', loginTimes:13}]3)XmlReaderExt.data.XmlReader-XML 文档数据解析器,用于把XML 文档数据转换成记录集Record对DataProxy与自定义Stroe1、字面解释就是数据代理,也可以理解为数据源,也即从哪儿或如何得到需要交给DataReader 解析的数据。
1.form提交:if (newFs.form.isValid()) {newFs.form.doAction('submit', {url : 'agentServ!save.action',waitMsg : '保存中...',method : 'post',params : '',success : function(form, action) {Ext.Msg.alert('操作', action.result.actionInfo);newFs.getForm().reset();store.reload();},failure : function(form, action) {Ext.Msg.alert('保存失败!', '原因:'+ action.result.actionInfo);store.reload();}});}newFs.form.isValid()用来对form进行校验通过返回true,未通过返回false,例如form有非空属性的控件,如此空间不填写值就不能通过校验。
waitMsg:提交时等待条的信息,不写此属性则不会有等待。
params:提交的参数,可以写成'id=’id或{id:id}success:提交后用一个名为success布尔类型变量并将其Json化后,如此值为true则执行success中的函数。
否则执行failure的函数。
action.result:用于取得提交后后台返回的Json化的变量2.Ajax提交:Ext.Ajax.request({url: 'subBusitype!disableBulk.action',method:'post',failure:function(response,opt){alert(response.responseText)},success: function(response, options) {var responseArray = Ext.util.JSON.decode(response.responseText);if(responseArray.success==true){store.load();Ext.Msg.alert('信息','废除信息成功');}else if(responseArray.success=='false'){Ext.Msg.alert('失败',response.responseText);}},params:{ids:ids}})Ext.util.JSON.decode(response.responseText):用于取得提交后后台返回的Json化的变量以上两种方法都为异步提交。