⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zpgrid-output.js

📁 zapatec suite 最新版 20070204,非常棒的ajax widgets 工具包
💻 JS
📖 第 1 页 / 共 5 页
字号:
	}	// Display grid	if (this.headerContainer) {		this.headerContainer.style.position = 'relative';		// IE6 requires width for relative element containing other relative		// elements		if (this.headerContainer.currentStyle &&		 this.headerContainer.currentStyle['width'] == 'auto') {			this.headerContainer.style.width = '100%';		}		var aHtml = [];		aHtml.push('<div id="zpGrid');		aHtml.push(this.id);		aHtml.push('Container"><div>');		// Header		this.outputTableOpen(aHtml);		this.outputFields(aHtml, aCols, aFixedCols, aSpans, aRows, aTotals);		this.outputTableClose(aHtml);		aHtml.push('</div>');		// Fixed header		if (oConfig.fixedLeft > 0 || oConfig.horizontal) {			aHtml.push('<div id="zpGrid');			aHtml.push(this.id);			if (this.headerContainer.style.setAttribute) {				// IE				aHtml.push('FixedLeft" style="position:absolute;top:0px;\				 left:expression(this.offsetParent.scrollLeft+\'px\')"><div>');			} else {				// Other browsers don't support expressions yet				aHtml.push('FixedLeft" style="position:absolute;top:0px;left:');				aHtml.push(oContainer.scrollLeft);				aHtml.push('px"><div>');			}			this.outputTableOpen(aHtml, true);			this.outputFields(aHtml, aCols, aFixedCols, aSpans, aRows, aTotals, true);			this.outputTableClose(aHtml);			aHtml.push('</div></div>');		}		aHtml.push('</div>');		// Draw header		this.headerContainer.innerHTML = aHtml.join('');		// Clean container		oContainer.innerHTML = '';		// Data		var oContr = Zapatec.Utils.createElement('div', oContainer, true);		oContr.id = 'zpGrid' + this.id + 'BusyContainer';		oContr.style.position = 'absolute';		oContr.style.top = '0px';		oContr.style.left = '0px';		oContr = Zapatec.Utils.createElement('div', oContainer, true);		oContr.id = 'zpGrid' + this.id + 'DataContainer';		// Rows		aHtml = [];		this.outputTableOpen(aHtml, false, 'zpGrid' + this.id + 'DataTable');		this.outputRows(aHtml, aCols, aFixedCols, aSpans, aRows, aTotals, false,		 oContr);		// Pagination		if (this.paginationContainers.length) {			// Draw the rest of rows			this.outputTableClose(aHtml);			var oDiv = Zapatec.Utils.createElement('div', oContr, true);			oDiv.innerHTML = aHtml.join('');			// Pagination			aHtml = [];			this.outputPagination(aHtml);			for (var iEl = 0; iEl < this.paginationContainers.length; iEl++) {				this.paginationContainers[iEl].innerHTML = aHtml.join('');			}		} else {			// Pagination			aHtml.push('</tbody></table></td></tr>');			this.outputPagination(aHtml);			aHtml.push('</tbody></table>');			// Draw the rest of rows			var oDiv = Zapatec.Utils.createElement('div', oContr, true);			oDiv.innerHTML = aHtml.join('');		}		// Fixed columns		if (oConfig.fixedLeft > 0 || oConfig.horizontal) {			var oFixed = Zapatec.Utils.createElement('div', oContr, true);			oFixed.id = 'zpGrid' + this.id + 'DataFixedLeft';			if (oFixed.style.setAttribute) {				// IE				oFixed.style.setAttribute('cssText', 'position:absolute;top:0px;\				 left:expression(this.offsetParent.scrollLeft+"px")', 0);			} else {				// Other browsers don't support expressions yet				oFixed.style.position = 'absolute';				oFixed.style.top = '0px';				oFixed.style.left = oContainer.scrollLeft + 'px';			}			var aHtml = [];			this.outputTableOpen(aHtml, true);			// Rows			this.outputRows(aHtml, aCols, aFixedCols, aSpans, aRows, aTotals, true,			 oFixed);			this.outputTableClose(aHtml);			var oDiv = Zapatec.Utils.createElement('div', oFixed, true);			oDiv.innerHTML = aHtml.join('');		}		// Right column margin when resizing		if (!oConfig.horizontal) {			var oRs = Zapatec.Utils.createElement('div', oContr, true);			oRs.id = 'zpGrid' + this.id + 'DataColResize';			oRs.style.position = 'absolute';			oRs.style.top = '0px';			oRs.style.left = '0px';			oRs.style.display = 'none';			oRs.className = this.getClassName({				prefix: 'zpGrid',				suffix: 'ColResize'			});		}	} else {		// Table		var aHtml = [];		aHtml.push('<div style="position:absolute;top:0px;left:0px" id="zpGrid');		aHtml.push(this.id);		aHtml.push('BusyContainer"></div><div id="zpGrid');		aHtml.push(this.id);		aHtml.push('Container"><div>');		this.outputTableOpen(aHtml, false, 'zpGrid' + this.id + 'DataTable');		// Header		this.outputFields(aHtml, aCols, aFixedCols, aSpans, aRows, aTotals);		// Rows		this.outputRows(aHtml, aCols, aFixedCols, aSpans, aRows, aTotals);		// Pagination		if (this.paginationContainers.length) {			// Draw table			this.outputTableClose(aHtml);			aHtml.push('</div></div>');			oContainer.innerHTML = aHtml.join('');			// Pagination			aHtml = [];			this.outputPagination(aHtml);			for (var iEl = 0; iEl < this.paginationContainers.length; iEl++) {				this.paginationContainers[iEl].innerHTML = aHtml.join('');			}		} else {			// Pagination			aHtml.push('</tbody></table></td></tr>');			this.outputPagination(aHtml);			aHtml.push('</tbody></table></div></div>');			// Draw table			oContainer.innerHTML = aHtml.join('');		}		// Fixed columns		if ((oConfig.fixedLeft > 0 || oConfig.horizontal) && !oConfig.visibleColumns) {			var oFixed = Zapatec.Utils.createElement('div',			 document.getElementById('zpGrid' + this.id + 'Container'), true);			oFixed.id = 'zpGrid' + this.id + 'FixedLeft';			if (oFixed.style.setAttribute) {				// IE				oFixed.style.setAttribute('cssText', 'position:absolute;top:0px;\				 left:expression(this.offsetParent.scrollLeft+"px")', 0);			} else {				// Other browsers don't support expressions yet				oFixed.style.position = 'absolute';				oFixed.style.top = '0px';				oFixed.style.left = oContainer.scrollLeft + 'px';			}			var aHtml = [];			this.outputTableOpen(aHtml, true);			// Header			this.outputFields(aHtml, aCols, aFixedCols, aSpans, aRows, aTotals, true);			// Rows			this.outputRows(aHtml, aCols, aFixedCols, aSpans, aRows, aTotals, true);			this.outputTableClose(aHtml);			var oDiv = Zapatec.Utils.createElement('div', oFixed, true);			oDiv.innerHTML = aHtml.join('');		}	}	if (this.headerContainer || !oConfig.visibleColumns) {		// If there is separate container for totals		if (aTotals && this.totalsContainer && this.outputTotals) {			this.totalsContainer.style.position = 'relative';			// IE6 requires width for relative element containing other relative			// elements			if (this.totalsContainer.currentStyle &&			 this.totalsContainer.currentStyle['width'] == 'auto') {				this.totalsContainer.style.width = '100%';			}			var aHtml = [];			aHtml.push('<div id="zpGrid');			aHtml.push(this.id);			aHtml.push('TotalsContainer"><div>');			// Totals			this.outputTableOpen(aHtml);			this.outputTotals(aHtml, aCols, aFixedCols, aTotals);			this.outputTableClose(aHtml);			aHtml.push('</div>');			// Fixed totals			if (oConfig.fixedLeft > 0) {				aHtml.push('<div id="zpGrid');				aHtml.push(this.id);				if (this.totalsContainer.style.setAttribute) {					// IE					aHtml.push('TotalsFixedLeft" style="position:absolute;top:0px;\					 left:expression(this.offsetParent.scrollLeft+\'px\')"><div>');				} else {					// Other browsers don't support expressions yet					aHtml.push('TotalsFixedLeft" style="position:absolute;top:0px;left:');					aHtml.push(oContainer.scrollLeft);					aHtml.push('px"><div>');				}				this.outputTableOpen(aHtml, true);				this.outputTotals(aHtml, aCols, aFixedCols, aTotals, true);				this.outputTableClose(aHtml);				aHtml.push('</div></div>');			}			aHtml.push('</div>');			// Draw totals			this.totalsContainer.innerHTML = aHtml.join('');			// Right column margin when resizing			if (!oConfig.horizontal) {				var oRs = Zapatec.Utils.createElement('div', this.totalsContainer, true);				oRs.id = 'zpGrid' + this.id + 'TotalsColResize';				oRs.style.position = 'absolute';				oRs.style.top = '0px';				oRs.style.left = '0px';				oRs.style.display = 'none';				oRs.className = this.getClassName({					prefix: 'zpGrid',					suffix: 'ColResize'				});			}		}		// Synchronize scrolling		this.syncScroll();	}	// Custom totals	if (typeof oConfig.callbackTotalsDisplay == 'function') {		oConfig.callbackTotalsDisplay(this, aTotals);	} else if (aTotals && typeof oConfig.callbackTotalDisplay == 'function') {		var iTotals = aTotals.length;		var iRow;		for (iRow = 0; iRow < iTotals; iRow++) {			oConfig.callbackTotalDisplay(this, aTotals[iRow]);		}	}	// Custom pagination	if (typeof oConfig.callbackPaginationDisplay == 'function' &&	 oConfig.rowsPerPage > 0) {		oConfig.callbackPaginationDisplay(this);	}	// Finish refresh	this.onRefresh();};/** * Visualizes row selection. * * @private * @param {object} oRow Row object */Zapatec.Grid.prototype.visualizeSelectRow = function(oRow) {	// Check arguments	if (!oRow) {		return;	}	// Get table row element	var oTr = document.getElementById('zpGrid' + this.id + 'Row' + oRow.i);	if (oTr) { // Can be on different page		// Get row number because rows can be sorted and filtered		/zpGridRow(\d+)/.exec(oTr.className);		var sRow = RegExp.$1;		// Select row		var aClSelected = [];		aClSelected.push(' zpGridRowSelected zpGridRowSelected');		aClSelected.push(sRow);		aClSelected.push(' zpGridRowSelected');		aClSelected.push(sRow % 2 == 1 ? 'Odd' : 'Even');		if (oTr.className.indexOf('zpGridRowLast') >= 0) { // Last row			aClSelected.push(' zpGridRowSelectedLast');		}		var sClassSelected = aClSelected.join('');		oTr.className += sClassSelected;		// Get fixed part of row		oTr = document.getElementById('zpGrid' + this.id + 'Row' + oRow.i +		 'Fixed');		if (oTr) {			oTr.className += sClassSelected;		}	}};/** * Visualizes row unselection. * * @private * @param {object} oRow Row object */Zapatec.Grid.prototype.visualizeUnselectRow = function(oRow) {	// Check arguments	if (!oRow) {		return;	}	// Get table row element	var oTr = document.getElementById('zpGrid' + this.id + 'Row' + oRow.i);	if (oTr) { // Can be on different page		oTr.className = oTr.className.replace(/ zpGridRowSelected[^ ]*/g, '');		// Get fixed part of row		oTr = document.getElementById('zpGrid' + this.id + 'Row' + oRow.i +		 'Fixed');		if (oTr) {			oTr.className = oTr.className.replace(/ zpGridRowSelected[^ ]*/g, '');		}	}};/** * Visualizes cell selection. * * @private * @param {object} oCell Cell object */Zapatec.Grid.prototype.visualizeSelectCell = function(oCell) {	// Check arguments	if (!oCell) {		return;	}	// Get table cell element	var oTd = document.getElementById('zpGrid' + this.id + 'Row' + oCell.r +	 'Cell' + oCell.i);	if (oTd) { // Can be on different page		// Select cell		var aClSelected = [];		aClSelected.push(' zpGridCellSelected zpGridCellSelected');		aClSelected.push(oCell.i);		aClSelected.push(' zpGridCellSelected');		aClSelected.push(oCell.i % 2 == 1 ? 'Odd' : 'Even');		if (oCell.i == this.fields.length - 1) { // Last cell			aClSelected.push(' zpGridCellSelectedLast');		}		oTd.className += aClSelected.join('');	}};/** * Visualizes cell unselection. * * @private * @param {object} oCell Cell object */Zapatec.Grid.prototype.visualizeUnselectCell = function(oCell) {	// Check arguments	if (!oCell) {		return;	}	// Get table row element	var oTd = document.getElementById('zpGrid' + this.id + 'Row' + oCell.r +	 'Cell' + oCell.i);	if (oTd) { // Can be on different page		oTd.className = oTd.className.replace(/ zpGridCellSelected[^ ]*/g, '');	}};/** * Displays filter out forms. * * @private * @param {object} oFilterOut Object passed through config option * @param {object} aVals Array of unique column values */Zapatec.Grid.prototype.visualizeFilterOut = function(oFilterOut, aVals) {	// Get container	if (!oFilterOut) {		return;	}	var oContr = Zapatec.Widget.getElementById(oFilterOut.container);	if (!oContr) {		return;	}	// Get columns	var aCols = oFilterOut.column;	if (!(aCols instanceof Array)) {		aCols = [aCols];	}	// Get fields	var aFields = [];	for (var iCol = 0; iCol < aCols.length; iCol++) {		var oField = this.fields[aCols[iCol]];		if (!oField) {			continue;		}		aFields.push(oField);	}	if (!aFields.length) {		return;	}	// Join column numbers	var sCols = aCols.join(',');	// "Select all" and "Clear" links	var aHtml = [];	aHtml.push('<div><a href="javascript:void(0)" onclick="Zapatec.Grid.checkboxSelectAllOnClick(\'');	aHtml.push(this.id);	aHtml.push("',[");	aHtml.push(sCols);	aHtml.push('])">');	aHtml.push(this.getMessage('labelSelectAll'));	aHtml.push('</a> | <a href="javascript:void(0)" onclick="Zapatec.Grid.checkboxClearAllOnClick(\'');	aHtml.push(this.id);	aHtml.push("',[");	aHtml.push(sCols);	aHtml.push('])">');	aHtml.push(this.getMessage('labelClear'));	aHtml.push('</a></div>');	// Checkboxes	for (var iVal = 0; iVal < aVals.length; iVal++) {		var sVal = aVals[iVal].v + '';		var sEscaped = escape(sVal);		aHtml.push('<div><input type="checkbox" ');		// Check if this value is hidden		for (var iField = 0; iField < aFields.length; iField++) {			var oField = aFields[iField];			if (!(oField.hiddenValues instanceof Array) ||			 Zapatec.Utils.arrIndexOf(oField.hiddenValues, sVal) < 0) {				aHtml.push('checked ');				break;			}		}		aHtml.push('onclick="');		if (oFilterOut.onclick) {			aHtml.push(oFilterOut.onclick);			aHtml.push(';');		}		aHtml.push("Zapatec.Grid.checkboxOnClick('");		aHtml.push(this.id);		aHtml.push("',[");		aHtml.push(sCols);		aHtml.push("],unescape('");		aHtml.push(sEscaped);		aHtml.push("'),this.checked)\" /><a href=\"javascript:void(0)\" onclick=\"Zapatec.Grid.checkboxLinkOnClick('");		aHtml.push(this.id);		aHtml.push("',[");		aHtml.push(sCols);		aHtml.push("],unescape('");		aHtml.push(sEscaped);		aHtml.push("'))\">");		aHtml.push(sVal);		aHtml.push('</a></div>');	}	oContr.innerHTML = aHtml.join('');};/** * Returns container for "Loading" or "Updating" image. * * @private * @return Container for "Loading" or "Updating" image * @type object */Zapatec.Grid.prototype.getBusyContainer = function() {	if (!this.container) {		return;	}	// Get container	var oContr = document.getElementById('zpGrid' + this.id + 'BusyContainer');	if (oContr) {		oContr.style.left = this.container.scrollLeft + 'px';		oContr.style.top = this.container.scrollTop + 'px';		oContr.style.width = Math.min(this.container.clientWidth,		 this.getGridDimension

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -