亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? model.js

?? ajax框架原嗎,dojo目前很流行的,希望大家多多學習啊
?? JS
?? 第 1 頁 / 共 2 頁
字號:
if(!dojo._hasResource['dojox.grid._data.model']){ //_hasResource checks added by build. Do not use _hasResource directly in your code.dojo._hasResource['dojox.grid._data.model'] = true;dojo.provide('dojox.grid._data.model');dojo.require('dojox.grid._data.fields');dojo.declare("dojox.grid.data.Model", null, {	// summary:	//	Base abstract grid data model.	//	Makes no assumptions about the structure of grid data.	constructor: function(inFields, inData){		this.observers = [];		this.fields = new dojox.grid.data.Fields();		if(inFields){			this.fields.set(inFields);		}		this.setData(inData);	},	count: 0,	updating: 0,	// observers 	observer: function(inObserver, inPrefix){		this.observers.push({o: inObserver, p: inPrefix||'model' });	},	notObserver: function(inObserver){		for(var i=0, m, o; (o=this.observers[i]); i++){			if(o.o==inObserver){				this.observers.splice(i, 1);				return;			}		}	},	notify: function(inMsg, inArgs){		if(!this.isUpdating()){			var a = inArgs || [];			for(var i=0, m, o; (o=this.observers[i]); i++){				m = o.p + inMsg, o = o.o;				(m in o)&&(o[m].apply(o, a));			}		}	},	// updates	clear: function(){		this.fields.clear();		this.clearData();	},	beginUpdate: function(){		this.updating++;	},	endUpdate: function(){		if(this.updating){			this.updating--;		}		/*if(this.updating){			if(!(--this.updating)){				this.change();			}		}		}*/	},	isUpdating: function(){		return Boolean(this.updating);	},	// data	clearData: function(){		this.setData(null);	},	// observer events	change: function(){		this.notify("Change", arguments);	},	insertion: function(/* index */){		this.notify("Insertion", arguments);		this.notify("Change", arguments);	},	removal: function(/* keys */){		this.notify("Removal", arguments);		this.notify("Change", arguments);	},	// insert	insert: function(inData /*, index */){		if(!this._insert.apply(this, arguments)){			return false;		}		this.insertion.apply(this, dojo._toArray(arguments, 1));		return true;	},	// remove	remove: function(inData /*, index */){		if(!this._remove.apply(this, arguments)){			return false;		}		this.removal.apply(this, arguments);		return true;	},	// sort	canSort: function(/* (+|-)column_index+1, ... */){		return this.sort != null;	},	makeComparator: function(inIndices){		var idx, col, field, result = null;		for(var i=inIndices.length-1; i>=0; i--){			idx = inIndices[i];			col = Math.abs(idx) - 1;			if(col >= 0){				field = this.fields.get(col);				result = this.generateComparator(field.compare, field.key, idx > 0, result);			}		}		return result;	},	sort: null,	dummy: 0});dojo.declare("dojox.grid.data.Rows", dojox.grid.data.Model, {	// observer events	allChange: function(){		this.notify("AllChange", arguments);		this.notify("Change", arguments);	},	rowChange: function(){		this.notify("RowChange", arguments);	},	datumChange: function(){		this.notify("DatumChange", arguments);	},	// copyRow: function(inRowIndex); // abstract	// update	beginModifyRow: function(inRowIndex){		if(!this.cache[inRowIndex]){			this.cache[inRowIndex] = this.copyRow(inRowIndex);		}	},	endModifyRow: function(inRowIndex){		var cache = this.cache[inRowIndex];		if(cache){			var data = this.getRow(inRowIndex);			if(!dojox.grid.arrayCompare(cache, data)){				this.update(cache, data, inRowIndex);			}			delete this.cache[inRowIndex];		}	},	cancelModifyRow: function(inRowIndex){		var cache = this.cache[inRowIndex];		if(cache){			this.setRow(cache, inRowIndex);			delete this.cache[inRowIndex];		}	},	generateComparator: function(inCompare, inField, inTrueForAscend, inSubCompare){		return function(a, b){			var ineq = inCompare(a[inField], b[inField]);			return ineq ? (inTrueForAscend ? ineq : -ineq) : inSubCompare && inSubCompare(a, b);		}	}});dojo.declare("dojox.grid.data.Table", dojox.grid.data.Rows, {	// summary:	//	Basic grid data model for static data in the form of an array of rows	//	that are arrays of cell data	constructor: function(){		this.cache = [];	},	colCount: 0, // tables introduce cols	data: null,	cache: null,	// morphology	measure: function(){		this.count = this.getRowCount();		this.colCount = this.getColCount();		this.allChange();		//this.notify("Measure");	},	getRowCount: function(){		return (this.data ? this.data.length : 0);	},	getColCount: function(){		return (this.data && this.data.length ? this.data[0].length : this.fields.count());	},	badIndex: function(inCaller, inDescriptor){		console.debug('dojox.grid.data.Table: badIndex');	},	isGoodIndex: function(inRowIndex, inColIndex){		return (inRowIndex >= 0 && inRowIndex < this.count && (arguments.length < 2 || (inColIndex >= 0 && inColIndex < this.colCount)));	},	// access	getRow: function(inRowIndex){		return this.data[inRowIndex];	},	copyRow: function(inRowIndex){		return this.getRow(inRowIndex).slice(0);	},	getDatum: function(inRowIndex, inColIndex){		return this.data[inRowIndex][inColIndex];	},	get: function(){		throw('Plain "get" no longer supported. Use "getRow" or "getDatum".');	},	setData: function(inData){		this.data = (inData || []);		this.allChange();	},	setRow: function(inData, inRowIndex){		this.data[inRowIndex] = inData;		this.rowChange(inData, inRowIndex);		this.change();	},	setDatum: function(inDatum, inRowIndex, inColIndex){		this.data[inRowIndex][inColIndex] = inDatum;		this.datumChange(inDatum, inRowIndex, inColIndex);	},	set: function(){		throw('Plain "set" no longer supported. Use "setData", "setRow", or "setDatum".');	},	setRows: function(inData, inRowIndex){		for(var i=0, l=inData.length, r=inRowIndex; i<l; i++, r++){			this.setRow(inData[i], r);		}	},	// update	update: function(inOldData, inNewData, inRowIndex){		//delete this.cache[inRowIndex];			//this.setRow(inNewData, inRowIndex);		return true;	},	// insert	_insert: function(inData, inRowIndex){		dojox.grid.arrayInsert(this.data, inRowIndex, inData);		this.count++;		return true;	},	// remove	_remove: function(inKeys){		for(var i=inKeys.length-1; i>=0; i--){			dojox.grid.arrayRemove(this.data, inKeys[i]);		}		this.count -= inKeys.length;		return true;	},	// sort	sort: function(/* (+|-)column_index+1, ... */){		this.data.sort(this.makeComparator(arguments));	},	swap: function(inIndexA, inIndexB){		dojox.grid.arraySwap(this.data, inIndexA, inIndexB);		this.rowChange(this.getRow(inIndexA), inIndexA);		this.rowChange(this.getRow(inIndexB), inIndexB);		this.change();	},	dummy: 0});dojo.declare("dojox.grid.data.Objects", dojox.grid.data.Table, {	constructor: function(inFields, inData, inKey){		if(!inFields){			this.autoAssignFields();		}	},	autoAssignFields: function(){		var d = this.data[0], i = 0;		for(var f in d){			this.fields.get(i++).key = f;		}	},	getDatum: function(inRowIndex, inColIndex){		return this.data[inRowIndex][this.fields.get(inColIndex).key];	}});dojo.declare("dojox.grid.data.Dynamic", dojox.grid.data.Table, {	// summary:	//	Grid data model for dynamic data such as data retrieved from a server.	//	Retrieves data automatically when requested and provides notification when data is received	constructor: function(){		this.page = [];		this.pages = [];	},	page: null,	pages: null,	rowsPerPage: 100,	requests: 0,	bop: -1,	eop: -1,	// data	clearData: function(){		this.pages = [];		this.bop = this.eop = -1;		this.setData([]);	},	getRowCount: function(){		return this.count;	},	getColCount: function(){		return this.fields.count();	},	setRowCount: function(inCount){		this.count = inCount;		this.change();	},

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天堂va蜜桃一区二区三区漫画版| 欧美国产日韩一二三区| 国产精品三级视频| 日韩**一区毛片| 亚洲欧美福利一区二区| www国产成人| 日韩视频国产视频| 在线观看成人免费视频| 成人av资源在线| 天堂精品中文字幕在线| 亚洲免费av观看| 精品久久人人做人人爰| 欧美精品日日鲁夜夜添| 色综合久久综合| 99久久婷婷国产综合精品| 狠狠色综合播放一区二区| 欧洲日韩一区二区三区| 国产99精品视频| 日本成人在线视频网站| 日本亚洲天堂网| 亚洲大片免费看| 91精品国产综合久久久久久久久久| 亚洲成av人影院在线观看网| 中文字幕一区二区三区不卡| 久久久久久电影| 国产精品久久三区| 亚洲九九爱视频| 亚洲成在人线在线播放| 免费成人在线播放| 毛片不卡一区二区| 日韩理论在线观看| 亚洲日本免费电影| 亚洲精品欧美在线| 日本亚洲最大的色成网站www| 久久影视一区二区| 国产精品亲子伦对白| 中文字幕精品一区二区精品绿巨人| 色哟哟精品一区| 一本到不卡免费一区二区| 欧美丰满少妇xxxbbb| 日本韩国一区二区| 欧美一级欧美三级| 中文在线一区二区| 日韩avvvv在线播放| 99re这里只有精品6| 日韩精品一区二| 亚洲综合激情另类小说区| 三级在线观看一区二区| 成人高清在线视频| 欧美精品第1页| 亚洲欧美日韩在线播放| 国产在线观看免费一区| 欧洲一区二区三区在线| 成av人片一区二区| 精品久久人人做人人爱| 日韩精品一级二级 | 国产亚洲欧美色| 欧美亚洲综合久久| 精品国产一区二区三区不卡| 樱花影视一区二区| 国内精品第一页| 精品久久五月天| 麻豆免费看一区二区三区| 欧美男人的天堂一二区| 亚洲国产一区二区视频| www.欧美亚洲| 26uuuu精品一区二区| 欧美日韩一卡二卡| 亚洲少妇30p| 亚洲午夜羞羞片| 欧美无砖专区一中文字| 一区二区三区国产| 欧美中文字幕久久| 亚洲一区二区三区四区不卡| 亚洲精品国产品国语在线app| 日韩理论在线观看| www.视频一区| 亚洲va韩国va欧美va| 久久久精品天堂| 99国内精品久久| 亚洲成av人在线观看| 99久久精品免费看国产免费软件| 欧美日韩成人综合| 日韩免费视频一区| 美日韩黄色大片| 极品美女销魂一区二区三区 | 成人深夜在线观看| 精品播放一区二区| 床上的激情91.| 日韩理论片网站| 日韩欧美一卡二卡| 中文字幕视频一区二区三区久| 亚洲综合偷拍欧美一区色| 欧美精彩视频一区二区三区| 9人人澡人人爽人人精品| 全国精品久久少妇| 中文字幕一区二区三| 国内成人精品2018免费看| 精品1区2区3区| 国产69精品久久久久毛片| 亚洲成人av一区二区三区| 国产视频一区二区在线观看| 欧美色综合网站| 国产成人自拍网| 国产蜜臀av在线一区二区三区| 亚洲综合无码一区二区| 久久精品在线观看| 日韩精品一区二区三区视频| 欧美午夜精品电影| 一本到高清视频免费精品| 粉嫩av亚洲一区二区图片| 日本伊人色综合网| 88在线观看91蜜桃国自产| 午夜私人影院久久久久| 国产精品色哟哟网站| 国产亚洲欧美色| 欧美tk丨vk视频| 欧美日本一区二区| 亚洲a一区二区| 亚洲免费在线看| 亚洲精品欧美二区三区中文字幕| 91同城在线观看| av不卡免费电影| av不卡免费在线观看| 成人免费看片app下载| 成人美女视频在线看| 国产精品国产三级国产aⅴ入口| 色呦呦网站一区| 色综合色综合色综合色综合色综合| 亚洲最色的网站| 欧美成人bangbros| 久久久精品综合| 欧洲国内综合视频| 欧美午夜片在线看| 日韩免费高清电影| 日韩一级片在线观看| 国产欧美精品在线观看| 欧美成人一区二区| 成人午夜伦理影院| 色综合久久天天综合网| 91福利小视频| www久久精品| 亚洲一区免费视频| 美女诱惑一区二区| 91麻豆swag| 精品视频1区2区| 国产精品国产自产拍高清av王其| 日韩一区和二区| 国产精品乱码人人做人人爱| 亚洲国产三级在线| 国产精华液一区二区三区| 欧美亚洲丝袜传媒另类| 日韩欧美在线观看一区二区三区| 一本色道久久综合亚洲精品按摩| 国产一区亚洲一区| 欧美三级三级三级| 国产精品热久久久久夜色精品三区 | 日韩美女精品在线| 精品一区二区三区日韩| 日本久久一区二区| 国产精品国产三级国产aⅴ原创| 日本一区二区免费在线观看视频| 国产亚洲欧洲一区高清在线观看| 欧美放荡的少妇| 亚洲精品成a人| 91行情网站电视在线观看高清版| 色诱视频网站一区| 97精品国产97久久久久久久久久久久| 国产在线不卡一区| 成人一级黄色片| 精品国产成人在线影院| 免费国产亚洲视频| 精品国产区一区| 久久国产精品99久久人人澡| 韩国一区二区三区| 精品久久免费看| 韩国女主播成人在线观看| 久久五月婷婷丁香社区| 国产一区二区不卡在线| 中文在线一区二区| 在线免费观看一区| 亚洲第一av色| 日韩视频在线永久播放| 国产亚洲综合性久久久影院| 成人激情小说乱人伦| 亚洲免费看黄网站| 欧美精品在线视频| 国产另类ts人妖一区二区| 91黄色小视频| 国产美女视频91| 亚洲免费av观看| 欧美日韩免费观看一区二区三区 | 亚洲精品美国一| 3d动漫精品啪啪| 激情小说亚洲一区| 在线成人午夜影院| 国产一区 二区 三区一级| 亚洲成a人片在线不卡一二三区| 色噜噜狠狠成人中文综合| 日韩成人精品在线观看|