Extjs的DWRProxy
来源:互联网 发布:油皮适合的面霜知乎 编辑:程序博客网 时间:2024/05/17 07:27
dwrproxy.js
- Ext.data.DWRProxy = function(dwrCall, args) {
- Ext.data.DWRProxy.superclass.constructor.call(this);
- this.dwrCall = dwrCall;
- this.args = args;
- };
- Ext.extend(Ext.data.DWRProxy, Ext.data.DataProxy, {
- load : function(params, reader, callback, scope, arg) {
- if (this.fireEvent("beforeload", this, params) !== false) {
- var delegate = this.loadResponse.createDelegate(this, [reader,
- callback, scope, arg], 1);
- var callParams = new Array();
- if (this.args && (this.args.length > 0))
- callParams = this.args.slice();
- if (params!=null){
- callParams.push(params);
- }
- callParams.push(delegate);
- this.dwrCall.apply(this, callParams);
- } else {
- callback.call(scope || this, null, arg, false);
- }
- },
- loadResponse : function(response, reader, callback, scope, arg) {
- var result;
- try {
- result = reader.read(response);
- } catch (e) {
- this.fireEvent("loadexception", this, null, response, e);
- callback.call(scope, null, arg, false);
- return;
- }
- callback.call(scope, result, arg, true);
- },
- update : function(dataSet) {
- },
- updateResponse : function(dataSet) {
- }
- });
- Ext.data.ObjectReader = function(meta, recordType) {
- Ext.data.ObjectReader.superclass.constructor.call(this, meta, recordType);
- };
- Ext.extend(Ext.data.ObjectReader, Ext.data.DataReader, {
- read : function(response) {
- var sid = this.meta ? this.meta.id : null;
- var rootProp=this.meta ? this.meta.root : null;
- var totalProp=this.meta ? this.meta.totalProperty : null;
- var recordType = this.recordType, fields = recordType.prototype.fields;
- var records = [];
- var root = rootProp?response[rootProp]:response;
- for (var i = 0; i < root.length; i++) {
- var obj = root[i];
- var values = {};
- var id = obj[sid];
- for (var j = 0, jlen = fields.length; j < jlen; j++) {
- var f = fields.items[j];
- var k = f.mapping !== undefined && f.mapping !== null
- ? f.mapping
- : f.name;
- var v = obj[k] !== undefined ? obj[k] : f.defaultValue;
- v = f.convert(v);
- values[f.name] = v;
- }
- var record = new recordType(values, id);
- records[records.length] = record;
- }
- return {
- records : records,
- totalRecords : totalProp?response[totalProp]:records.length
- };
- }
- });
js页面调用实例:
- var recordType = Ext.data.Record.create([{
- name : "id",
- type : "int"
- }, {
- name : "name",
- type : "string"
- }, {
- name : "birthday",
- mapping : "birthday",
- type : "date"
- }]);
- var ds = new Ext.data.Store({
- remoteSort:true,
- proxy : new Ext.data.DWRProxy(StudentService.getList),
- reader : new Ext.data.ObjectReader({
- id : 'id',
- root : 'data',
- totalProperty : 'total'
- },recordType)
- });
- Extjs的DWRProxy
- EXT 的Ext.data.DWRProxy
- Ext的DWRProxy应用事例
- 在前人的基础上更改的DWRProxy
- Ext结合DWR的关键代码(运行成功的DWRProxy)
- Ext结合DWR的关键代码(运行成功的DWRProxy)
- Ext.ux.data.DwrProxy
- 【ExtJs】ExtJs的Ajax
- ExtJs--引用的ExtJs路径
- 【ExtJs】ExtJs的文件上传
- DWRProxy.js中o is null 问题
- DWRProxy.js obj is null 解决办法
- 【ExtJs】ExtJs的富文本编辑器
- ExtJS树的使用
- extjs tree的使用
- 对ExtJs的态度
- ExtJs的菜单导航
- extjs 乱码的问题
- 学习Oracle动态性能表-(2)-V$SQLTEXT
- 图像处理~~
- 将阿拉伯数字转换为罗马数字
- 九寨沟之旅
- view-source协议
- Extjs的DWRProxy
- Creating multi-tiered applications
- ASP.NET中如何为用户控件自定义事件?
- echo(),print(),print_r()的区别 -php
- D3D回顾2
- SAP采购审批策略定义及介绍
- linux基本命令
- Lazarus(0.9.26)+ Indy10 系列(一)——获取最新的Indy源码
- 基础啊……