亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
91免费看`日韩一区二区| 精品裸体舞一区二区三区| 5566中文字幕一区二区电影| 久久久夜色精品亚洲| 天天综合色天天综合色h| 国产.欧美.日韩| 日韩欧美激情一区| 亚洲在线免费播放| www.激情成人| 久久久久久久电影| 久久aⅴ国产欧美74aaa| 欧美亚洲高清一区| 自拍偷拍国产亚洲| 国产99一区视频免费| 欧美mv日韩mv| 天天做天天摸天天爽国产一区| 94-欧美-setu| 国产精品亲子乱子伦xxxx裸| 精品亚洲porn| 欧美刺激午夜性久久久久久久| 午夜久久久影院| 欧美午夜电影在线播放| 亚洲午夜久久久久久久久电影网| eeuss鲁片一区二区三区| 国产日本一区二区| 国产成人精品午夜视频免费| 久久久精品黄色| 国产美女视频91| 精品久久久久一区| 久久成人av少妇免费| 精品88久久久久88久久久| 日本sm残虐另类| 欧美成人精品1314www| 美女精品一区二区| 欧美精品一区二区三区一线天视频| 日韩和欧美一区二区三区| 51精品国自产在线| 精品写真视频在线观看| 精品福利一区二区三区| 国产一区视频网站| 欧美韩国日本不卡| 91视频你懂的| 午夜精品久久久久久久99樱桃| 欧美日韩另类国产亚洲欧美一级| 日一区二区三区| 欧美一区二区三区成人| 经典三级一区二区| 国产精品久久久久久一区二区三区 | 国产欧美综合在线观看第十页| 国产经典欧美精品| 国产精品护士白丝一区av| 91视视频在线观看入口直接观看www | 蜜桃一区二区三区四区| 欧美大片在线观看| 国产成人综合在线播放| 中文字幕一区二区三区精华液| 色综合天天综合网国产成人综合天| 亚洲综合一区在线| 91精品午夜视频| 国产精品亚洲成人| 亚洲综合男人的天堂| 精品久久一区二区| 色婷婷激情综合| 麻豆中文一区二区| 国产精品初高中害羞小美女文| 欧美日韩一区精品| 国产乱码一区二区三区| 一级精品视频在线观看宜春院| 欧美一区二区三区在| 成人免费精品视频| 青青草一区二区三区| 日韩一区日韩二区| 欧美一卡在线观看| 99精品久久99久久久久| 美女视频第一区二区三区免费观看网站| 欧美国产97人人爽人人喊| 欧美日本在线一区| 99久久99久久精品国产片果冻| 男男成人高潮片免费网站| 国产精品成人在线观看| 欧美岛国在线观看| 欧美日韩中文精品| 成人一级视频在线观看| 日本在线不卡视频| 一区二区在线观看免费| 国产日本亚洲高清| 日韩一级二级三级| 欧美日韩精品一区二区三区蜜桃 | 在线中文字幕一区| 国产精品亚洲第一| 久草中文综合在线| 天堂在线一区二区| 一个色综合网站| 国产精品久久久久7777按摩| 久久亚洲欧美国产精品乐播| 欧美精品乱码久久久久久| 色婷婷久久一区二区三区麻豆| 国产一区二区在线观看视频| 蜜桃精品视频在线| 午夜国产精品影院在线观看| 一区二区三区高清不卡| 中文字幕日本乱码精品影院| 久久综合视频网| 日韩精品一区二区三区在线播放| 欧美视频一区二区| 在线一区二区三区四区五区| 成人av电影在线观看| 国产盗摄一区二区| 国产精品一区二区果冻传媒| 精品亚洲国产成人av制服丝袜| 日韩黄色免费电影| 美女一区二区视频| 免费的成人av| 美女视频免费一区| 狠狠狠色丁香婷婷综合激情| 麻豆国产欧美日韩综合精品二区| 日韩高清一区在线| 日韩成人一区二区| 美女诱惑一区二区| 激情综合一区二区三区| 国产精品一区在线观看乱码 | 国产欧美精品日韩区二区麻豆天美| 久久精品免费在线观看| 国产清纯在线一区二区www| 中文一区二区在线观看| 国产精品私房写真福利视频| 中文字幕中文乱码欧美一区二区| 国产精品黄色在线观看| 一区二区三区波多野结衣在线观看| 亚洲人成7777| 婷婷夜色潮精品综合在线| 免费在线欧美视频| 国产麻豆精品久久一二三| 粉嫩嫩av羞羞动漫久久久| 99久久99久久精品国产片果冻 | 久久你懂得1024| 国产精品麻豆一区二区| 一区二区三区精品视频在线| 日本人妖一区二区| 国产一区二区调教| 91浏览器在线视频| 91麻豆精品国产91久久久久| 久久亚洲免费视频| 中文字幕在线不卡一区| 亚洲妇熟xx妇色黄| 九九九精品视频| 成人aaaa免费全部观看| 欧美偷拍一区二区| 欧美mv日韩mv| 一区二区三区欧美久久| 久久精品国产亚洲5555| 成人激情文学综合网| 欧美日免费三级在线| 国产午夜精品一区二区三区视频| 亚洲综合色网站| 国产精品自在欧美一区| 欧美日韩你懂的| 中文久久乱码一区二区| 日韩av中文字幕一区二区三区| 丁香激情综合五月| 欧美久久久久免费| 中文字幕亚洲在| 久久精品国产99国产| 色婷婷久久99综合精品jk白丝| 日韩欧美一区二区在线视频| 亚洲色图在线播放| 精品一二三四在线| 欧美福利视频导航| 亚洲乱码中文字幕| 成人在线综合网| 精品人伦一区二区色婷婷| 一区二区三区av电影| www.av亚洲| 日本一区免费视频| 久久黄色级2电影| 欧美日韩成人在线一区| 亚洲欧美区自拍先锋| 国产成人av一区| 精品国产髙清在线看国产毛片 | 久久99热国产| 欧美高清视频在线高清观看mv色露露十八 | 一区二区三区四区高清精品免费观看| 精久久久久久久久久久| 欧美一区二区私人影院日本| 一区二区久久久久久| voyeur盗摄精品| 国产亚洲人成网站| 国产在线日韩欧美| 精品久久久久久综合日本欧美| 日韩电影在线一区二区| 911精品国产一区二区在线| 亚洲少妇屁股交4| caoporn国产精品| 中文一区二区在线观看| www.视频一区| 亚洲免费观看高清完整| 91在线观看下载| 亚洲日本免费电影| 色猫猫国产区一区二在线视频| 日韩美女精品在线|