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

📄 boxgrid.js

📁 SQLiteDBMS是SQLite数据库的管理服务器软件
💻 JS
📖 第 1 页 / 共 2 页
字号:
		return row;	};	this.setData=function(data, rownum) {		if (!rownum) rownum=this.table.rows.length-1;		this.table.rows[rownum].data=data;	};	this.setLink=function(action, cellnum, rownum) {		if (!rownum) rownum=this.table.rows.length-1;		if (!cellnum) cellnum=0;		var cell=this.table.rows[rownum].cells[cellnum];		if (!cell) return;		cell.style.backgroundColor='#F6FCFF';		cell.style.cursor='pointer';		cell.onclick=new Function('boxTabMenuAction(this, "'+action+'")');	};	this.addTitle=function(html, rownum) {		var row;		if (typeof rownum == 'undefined' || rownum > this.table.rows.length || rownum < 0)			row=this.table.insertRow(this.table.rows.length);		else			row=this.table.insertRow(rownum);		var cell=row.insertCell(0);		cell.className='title';		cell.colSpan=this.header.length;		cell.innerHTML=html;	};	this.initDataset=function(mdi) {		if (!this.dataset) {			this.dataset=new boxGridDataset(this, mdi);			this.dataset.dbExec();		}		return this.dataset;	};}function boxGridToggle(e) {	if (_isIE && !e) e=window.event;	if (!e) return;	var eventSrc=(_isIE)?e.srcElement:e.target;	var tr=oFindParentByTagName(eventSrc, 'TR');	if (!tr) return;	if (eventSrc.tagName == 'TEXTAREA' || eventSrc.tagName == 'INPUT') return;	var table=oFindParentByTagName(tr, 'TABLE');	if (!table) return;	var grid=table.grid;	if (!grid) return;	if (e.ctrlKey) {		if (tr.className == 'select') {			tr.className='';			var idx=arraySearch(tr, grid.selectedRow);			if (idx >= 0)				grid.selectedRow.splice(idx, 1);		}else{			tr.className='select';			grid.selectedRow.push(tr);		}		return;	}	if (e.shiftKey && grid.selectedRow.length > 0) {		var start=Math.min(grid.selectedRow[grid.selectedRow.length-1].rowIndex, tr.rowIndex);		var end=Math.max(grid.selectedRow[grid.selectedRow.length-1].rowIndex, tr.rowIndex);		for (; start <= end; start++) {			grid.selectedRow.push(table.rows[start]);			table.rows[start].className='select';		}	}else{		for (var i=grid.selectedRow.length; i--;) {			if (grid.selectedRow[i] != tr)				grid.selectedRow[i].className='';		}		if (grid.selectedRow.length > 1)			tr.className='';		grid.selectedRow.splice(0, grid.selectedRow.length);		if (tr.className == 'select') tr.className='';		else{			tr.className='select';			grid.selectedRow.push(tr);		}	}}function boxGridDatasetOrderChange(e) {	if (_isIE && !e) e=window.event;	if (!e) return;	var eventSrc=(_isIE)?e.srcElement:e.target;	var table=oFindParentByTagName(eventSrc, 'TABLE');	if (!table) return;	var grid=table.grid;	if (!grid || !grid.dataset) return;	grid.dataset.orderChange(innerText(eventSrc).replace(/[▼▲]$/, ''));}function boxGridDatasetEdit(e) {	if (_isIE && !e) e=window.event;	if (!e) return;	var eventSrc=(_isIE)?e.srcElement:e.target;	if (eventSrc && eventSrc.firstChild && eventSrc.firstChild.tagName == 'TEXTAREA') return;	var table=oFindParentByTagName(eventSrc, 'TABLE');	if (!table) return;	var grid=table.grid;	if (!grid || !grid.dataset) return;	if (eventSrc.tagName != 'TD') return;	if (eventSrc.cellIndex == 0)		return;	var curdata=innerText(eventSrc);	var width=Math.max(0, eventSrc.clientWidth);	//eventSrc.innerHTML='null? <input type=checkbox onclick="boxGridDatasetEditNull(this)"><br>';	eventSrc.innerHTML='';	eventSrc.style.padding='0px';	var input=appendNew(eventSrc, 'TEXTAREA');	addEvent(input, 'blur', boxGridDatasetEditEnd);	addEvent(input, 'click', _eventBubble);	input.curdata=curdata;	input.value=curdata;	input.style.width=width;	input.focus();	if (_isIE) input.select();	e.cancelBubble=true;}function boxGridDatasetEditNull(check) {	if (!check) return;	if (check.checked == true) {		if (!confirm('Set to null?')) {			check.checked=check.defaultChecked=false;			return;		}		var table=oFindParentByTagName(check, 'TABLE');		if (!table) return;		var grid=table.grid;		if (!grid || !grid.dataset) return;		var cell=oFindParentByTagName(check, 'TD');		var row=oFindParentByTagName(check, 'TR');		if (!cell || !row) return;		if (!grid.dataset.mdi || !grid.dataset.mdi.data) return;		var header=table.rows[0];		if (!header) return;		var column=header.cells[cell.cellIndex];		if (!column) return;		var columnName=innerText(column);		var rowid=innerText(row.cells[0]);		boxDbExec(grid.dataset.mdi, 'UPDATE "'+grid.dataset.mdi.data.name+'" SET "'+(columnName)+'"=NULL WHERE rowid='+rowid, 'update');		innerText(cell, '');	}}function boxGridDatasetEditEnd(e) {	if (_isIE && !e) e=window.event;	if (!e) return;	var eventSrc=(_isIE)?e.srcElement:e.target;	var table=oFindParentByTagName(eventSrc, 'TABLE');	if (!table) return;	var grid=table.grid;	if (!grid || !grid.dataset) return;	if (eventSrc.tagName != 'TEXTAREA') return;	var cell=oFindParentByTagName(eventSrc, 'TD');	var row=oFindParentByTagName(eventSrc, 'TR');	if (!cell || !row) return;	cell.style.padding='';	if (eventSrc.curdata == eventSrc.value || isNaN(parseInt(row.cells[0].innerHTML))) {		/*		if (isNaN(parseInt(row.cells[0].innerHTML)) && !eventSrc.value) {			if (confirm('set Null?'))				cell.notnull=false;			else				cell.notnull=true;		}		*/		innerText(cell, eventSrc.value);		return;	}	if (!grid.dataset.mdi || !grid.dataset.mdi.data) return;	var header=table.rows[0];	if (!header) return;	var column=header.cells[cell.cellIndex];	if (!column) return;	var columnName=innerText(column);	var rowid=innerText(row.cells[0]);	if (!eventSrc.value && confirm('Set null?')) {		boxDbExec(grid.dataset.mdi, 'BEGIN;UPDATE "'+grid.dataset.mdi.data.name+'" SET "'+(columnName)+'"=NULL WHERE rowid='+rowid+';COMMIT;', 'update');		innerText(cell, eventSrc.value);	}else/* if (confirm('Edit commit?')) */{		boxDbExec(grid.dataset.mdi, 'BEGIN;UPDATE "'+grid.dataset.mdi.data.name+'" SET "'+(columnName)+'"=\''+(eventSrc.value.replace(/\'/g, '\'\''))+'\' WHERE rowid='+rowid+';COMMIT;', 'update');		innerText(cell, eventSrc.value);	}/*else		innerText(cell, eventSrc.curdata);*/}var _boxGridResizer=null;var _boxGridResizerTd=null;var _boxGridResizerTdX=0;var _boxGridResizerDir='';function boxGridHeaderResizeCursor(e) {	if (_isIE && !e) e=window.event;	if (!e) return;	var eventSrc=(_isIE)?e.srcElement:e.target;	if (!eventSrc || (eventSrc.tagName != 'TD' && eventSrc.tagName != 'A')) return;	var x=(_isIE)?e.offsetX:e.pageX-lX(eventSrc);	if (_boxGridResizerTd) {		_boxGridResizer.style.left=Math.max(_boxGridResizerTdX, e.clientX-4);	}else{		e.cancelBubble=true;		if (eventSrc.tagName != 'TD') return;		if (x < 3 || x > (eventSrc.offsetWidth-3))			eventSrc.style.cursor='col-resize';		else			eventSrc.style.cursor='default';	}}function boxGridHeaderResizeStart(e) {	if (_isIE && !e) e=window.event;	if (!e) return;	var eventSrc=(_isIE)?e.srcElement:e.target;	if (!eventSrc || eventSrc.tagName != 'TD') return;	var x=(_isIE)?e.offsetX:e.pageX-lX(eventSrc);	if (x < 3 || x > (eventSrc.offsetWidth-3)) {		if (x < 3) {			if (eventSrc.cellIndex == 0) return;			_boxGridResizerDir='left';			eventSrc=eventSrc.previousSibling;		}else			_boxGridResizerDir='right';		_boxGridResizerTd=eventSrc;		_boxGridResizerTdX=lX(eventSrc);		if (!_boxGridResizer) {			_boxGridResizer=appendNew(document.body, 'DIV');			_boxGridResizer.className='boxGridResizer';			_boxGridResizer.innerHTML='<img style="width:1px;height:1px">';		}		_boxGridResizer.style.display='block';		_boxGridResizer.style.top=lY(eventSrc)-((_isIE)?2:0);		_boxGridResizer.style.height=eventSrc.offsetParent.parentNode.offsetHeight;		_boxGridResizer.style.left=e.clientX-2;		document.body.style.cursor='col-resize';		addEvent(document, 'mouseup', boxGridHeaderResizeEnd);	}}function boxGridHeaderResizeEnd(e) {	if (_boxGridResizerTd && _boxGridResizer)		_boxGridResizerTd.style.width=_boxGridResizer.offsetLeft-_boxGridResizerTdX-8;	_boxGridResizerTd=null;	document.body.style.cursor='default';	removeEvent(document, 'mouseup', boxGridHeaderResizeEnd);	if (_boxGridResizer) _boxGridResizer.style.display='none';}

⌨️ 快捷键说明

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