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

📄 ig_webgrid.js

📁 研究怎样通过手写代码来完成自动生成代码
💻 JS
📖 第 1 页 / 共 5 页
字号:
					igtbl_clearSelectionAll(gn);
			}
			else
			{
				if(!(igtbl_getSelectTypeCell(gn,bandNo)==3 && evnt.ctrlKey) && !(cell.getSelected() && igtbl_getLength(gs.SelectedCells)==1))
					igtbl_clearSelectionAll(gn);
			}
			gs.Element.setAttribute("elementMode", "select");
			if(se.getAttribute("groupRow"))
			{
				te.setAttribute("selectTable", se.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.id);
				te.setAttribute("selectMethod", "row");
			}
			else
			{
				te.setAttribute("selectTable", se.parentNode.parentNode.parentNode.id);
				if(se.cellIndex==fac-1 || igtbl_getCellClickAction(gn,bandNo)==2)
					te.setAttribute("selectMethod", "row");
				else
					te.setAttribute("selectMethod", "cell");
			}
			if(te.getAttribute("shiftSelect") && evnt.shiftKey)
			{
				igtbl_selectRegion(gn,se);
				te.removeAttribute("shiftSelect");
			}
			else
			{
				if(se.cellIndex==fac-1 || igtbl_getCellClickAction(gn,bandNo)==2 || se.getAttribute("groupRow"))
				{
					var seRow=igtbl_getRowById(se.parentNode.id);
					if(gs.SelectedRows[se.parentNode.id] && evnt.ctrlKey)
					{
						igtbl_selectRow(gn,seRow,false);
						gs.setActiveRow(seRow);
					}
					else
					{
						var showEdit=true;
						if(!gs.exitEditCancel)
						{
							if(gs.Activation.AllowActivation)
							{
								var ar=gs.oActiveRow;
								if(ar!=seRow)
								{
									gs.setActiveRow(seRow);
									showEdit=false;
								}
								else
									showEdit=true;
							}
							if(igtbl_getSelectTypeRow(gn,bandNo)>1)
								igtbl_selectRow(gn,seRow,true,!prevSelRow);
							if(showEdit && !se.getAttribute("groupRow") && se.cellIndex==fac-1)
								igtbl_getRowById(se.parentNode.id).editRow();
						}
					}
				}
				else
				{
					if(cell.getSelected() && evnt.ctrlKey)
					{
						cell.select(false);
						cell.activate();
					}
					else
					{
						if(band.getSelectTypeCell()>1 && band.getCellClickAction()>=1 && !gs.exitEditCancel)
							cell.select();
						else if(selPresent)
							igtbl_fireEvent(gn,gs.Events.AfterSelectChange,"(\""+gn+"\",\""+id+"\");");
						cell.activate();
					}
				}
				if(se.getAttribute("groupRow"))
					te.setAttribute("startPointRow", se.parentNode.parentNode.parentNode.parentNode.parentNode.id);
				else
					te.setAttribute("startPointRow", se.parentNode.id);
				te.setAttribute("startPointCell", id);
				te.removeAttribute("shiftSelect", true);
				if(!evnt.ctrlKey)
					te.setAttribute("shiftSelect", true);
			}
		}
	}
	if(typeof(igtbl_currentEditTempl)!="undefined" && igtbl_currentEditTempl!=null)
		igtbl_gRowEditMouseDown(evnt);
	if(typeof(igcmbo_currentDropped)!="undefined" && igcmbo_currentDropped!=null)
		igcmbo_mouseDown(evnt);
	return igtbl_cancelEvent(evnt);
}

function igtbl_cellClickUp(evnt,gn)
{
	var gs=igtbl_getGridById(gn);
	if(!gs)
		return;
	if(igtbl_button(gn,evnt)==2)
		return;
	gs.Element.removeAttribute("mouseDown");
	var se=igtbl_srcElement(evnt);
	if(se.id==gn+"_vl" || se.id==gn+"_tb" || se.id==gn+"_ta")
		return;
	var sel=igtbl_getElementById(gn+"_vl");
	if(sel && sel.style.display=="" && sel.getAttribute("noOnBlur"))
		return igtbl_cancelEvent(evnt);
	while(se && (se.tagName!="TD" || se.id.length<gn.length || se.id.substr(0,gn.length)!=gn))
		se=se.parentNode;
	if(!se)
		return;
	if(se.tagName != "TD")
		return;
	if(se.id == "")
		return;
	var row;
	var id=se.id;
	var cell=igtbl_getCellById(id);
	if(cell)
	{
		row=cell.Row;
		id=cell.Element.id;
	}
	else row=igtbl_getRowById(id);
	if(!row && !cell) return;
	var te=gs.Element;
	var mode=gs.Element.getAttribute("elementMode");
	gs.Element.removeAttribute("elementMode");
	te.removeAttribute("selectTable");
	te.removeAttribute("selectMethod");
	te.removeAttribute("resizeRow");
	if(!te.getAttribute("shiftSelect"))
	{
		te.removeAttribute("startPointRow");
		te.removeAttribute("startPointCell");
	}
	var bandNo=row.Band.Index;
	var fac=row.Band.firstActiveCell;
	if(cell && se.cellIndex>fac-1 && igtbl_getCellClickAction(gn,bandNo)==1)
	{
		if(igtbl_getAllowUpdate(gn,bandNo,cell.Column.Index)==3)
			row.editRow(true);
		else
			cell.beginEdit();
	}
	if((mode=="resize" || mode=="select") && gs.NeedPostBack)
	{
		se=igtbl_srcElement(evnt);
		if(!(se.tagName=="INPUT" && se.type=="checkbox"))
			igtbl_doPostBack(gn);
		return;
	}
	if(!se.getAttribute("groupRow") && mode!="resize")
	{
		if(se.cellIndex==fac-1)
			igtbl_fireEvent(gn,gs.Events.RowSelectorClick,"(\""+gn+"\",\""+se.parentNode.id+"\","+igtbl_button(gn,evnt)+")");
		else
			igtbl_fireEvent(gn,gs.Events.CellClick,"(\""+gn+"\",\""+id+"\","+igtbl_button(gn,evnt)+")");
	}
	gs.noCellChange=false;
	if(igtbl_fireEvent(gn,gs.Events.MouseUp,"(\""+gn+"\",\""+id+"\","+igtbl_button(gn,evnt)+")")==true)
	{
		evnt.cancelBubble=true;
		return true;
	}
	if(gs.NeedPostBack && se.cellIndex==fac-1)
		igtbl_doPostBack(gn,'RowClick:'+se.parentNode.id+(se.parentNode.getAttribute("level")?"\x05"+se.parentNode.getAttribute("level"):""));
	else if(gs.NeedPostBack && igtbl_getCellClickAction(gn,bandNo)==2)
		igtbl_doPostBack(gn,'RowClick:'+se.parentNode.id+(se.parentNode.getAttribute("level")?"\x05"+se.parentNode.getAttribute("level"):""));
	else if(gs.NeedPostBack)
		igtbl_doPostBack(gn,'CellClick:'+id+(cell.Element.getAttribute("level")?"\x05"+cell.Element.getAttribute("level"):""));
	return igtbl_cancelEvent(evnt);
}

function igtbl_cellContextMenu(evnt,gn)
{
	var gs=igtbl_getGridById(gn);
	if(!gs)
		return;
	var te=gs.Element;
	te.removeAttribute("mouseDown");
	te.removeAttribute("elementMode");
	te.removeAttribute("resizeColumn");
	te.removeAttribute("selectMethod");
	if(!te.getAttribute("shiftSelect"))
		te.removeAttribute("startColumn");
	var se=igtbl_srcElement(evnt);
	if(se.id==gn+"_vl" || se.id==gn+"_tb" || se.id==gn+"_ta")
		return;
	while(se && (se.tagName!="TD" || se.id.length<gn.length || se.id.substr(0,gn.length)!=gn))
		se=se.parentNode;
	if(!se)
		return;
	if(se.tagName != "TD")
		return;
	if(se.id == "")
		return;
	var row;
	var id=se.id;
	var cell=igtbl_getCellById(id);
	if(cell)
	{
		row=cell.Row;
		id=cell.Element.id;
	}
	else row=igtbl_getRowById(id);
	if(!row && !cell) return;
	if(!se.getAttribute("groupRow"))
	{
		if(se.cellIndex==row.Band.firstActiveCell-1)
			igtbl_fireEvent(gn,gs.Events.RowSelectorClick,"(\""+gn+"\",\""+se.parentNode.id+"\",2)");
		else
			igtbl_fireEvent(gn,gs.Events.CellClick,"(\""+gn+"\",\""+id+"\",2)");
	}
	if(igtbl_fireEvent(gn,gs.Events.MouseUp,"(\""+gn+"\",\""+id+"\",2)")==true)
		return igtbl_cancelEvent(evnt);
}

function igtbl_cellMouseOver(evnt,gn)
{
	var gs=igtbl_getGridById(gn);
	var se=igtbl_srcElement(evnt);
	if(!gs || !se)
		return;
	if(se.tagName=="NOBR")
	{
		var cell=igtbl_getCellById(se.parentNode.id);
		if(cell)
		{
			var nobr=cell.Element.childNodes[0];
			if(cell.Element.title)
				nobr.title=cell.Element.title;
			else if(nobr.offsetWidth>cell.Element.offsetWidth || nobr.offsetHeight>cell.Element.offsetHeight)
			{
				if(igtbl_trim(cell.MaskedValue))
					nobr.title=cell.MaskedValue;
				else
					nobr.title=cell.getValue(true);
			}
		}
		se=se.parentNode;
	}
	while(se && (se.tagName!="TD" || se.id.length<gn.length || se.id.substr(0,gn.length)!=gn))
		se=se.parentNode;
	if(!se || se.tagName!="TD" || se.id=="")
		return;
	var row;
	var id=se.id;
	var cell=igtbl_getCellById(id);
	if(cell)
	{
		row=cell.Row;
		id=cell.Element.id;
	}
	else row=igtbl_getRowById(se.id);
	if(!row && !cell) return;
	var te=gs.Element;
	if(evnt.shiftKey && row.Band.getSelectTypeRow()==3 && !te.getAttribute("shiftSelect"))
		te.setAttribute("shiftSelect",true);
	if(igtbl_fireEvent(gn,gs.Events.MouseOver,"(\""+gn+"\",\""+id+"\",0)")==true)
		return;
}

function igtbl_cellMouseMove(evnt,gn)
{
	var se=igtbl_srcElement(evnt);
	var gs=igtbl_getGridById(gn);
	if(!gs || !se)
		return;
	var te=gs.Element;
	if(se.id==gn+"_vl" || se.id==gn+"_tb" || se.id==gn+"_ta")
		return;
	if(te.getAttribute("resizeRow") && (se.tagName=="TH" && se.parentNode.parentNode.tagName=="TFOOT" || se.tagName=="TD" && se.parentNode.getAttribute("hiddenRow")))
		return igtbl_tableMouseMove(evnt,gn);
	while(se && (se.tagName!="TD" || se.id.length<gn.length || se.id.substr(0,gn.length)!=gn))
		se=se.parentNode;
	if(!se)
		return;
	if(se.tagName != "TD")
		return;
	if(se.id == "")
		return;
	var row;
	var id=se.id;
	var cell=igtbl_getCellById(id);
	if(cell)
	{
		row=cell.Row;
		if(!cell) return;
		id=cell.Element.id;
	}
	else row=igtbl_getRowById(se.id);
	if(!row && !cell) return;
	var bandNo=row.Band.Index;
	var fac=row.Band.firstActiveCell;
	if(igtbl_button(gn,evnt)==0)
	{
		var mode = te.getAttribute("elementMode");
		if(mode && mode=="resize") 
		{
			if(se.cellIndex!=fac-1)
				return;
			var rowID = te.getAttribute("resizeRow");
			var rowEl=igtbl_getElementById(rowID);
			if(!rowEl || rowEl.getAttribute("hiddenRow"))
				return;
			var r1h=rowEl.offsetHeight+(evnt.clientY-(igtbl_getTopPos(rowEl)+rowEl.offsetHeight-(rowEl.clientTop?rowEl.clientTop:0)));
			igtbl_resizeRow(gn,rowID,r1h);
			var cursorName = se.getAttribute("oldCursor");
			if(cursorName==null)
				se.setAttribute("oldCursor", se.style.cursor);
			se.style.cursor="n-resize";
		}
		else
		{
			if(se.cellIndex==fac-1)
			{
				var cursorName = se.getAttribute("oldCursor");
				if(cursorName!=null)
				{
					se.style.cursor=cursorName;
					se.removeAttribute("oldCursor");
				}
			}
			if(mode && mode=="select" && !evnt.ctrlKey) 
			{
				var lsc=te.getAttribute("lastSelectedCell");
				if(!lsc || lsc!=se.id)
					igtbl_selectRegion(gn,se);
				te.setAttribute("lastSelectedCell",id);
			}
		}
	}
	else if(igtbl_getOffsetY(evnt,se)>igtbl_clientHeight(se)-4 && se.cellIndex==fac-1 && igtbl_getRowSizing(gn,bandNo,se.parentNode)==2)
	{
		var cursorName = se.getAttribute("oldCursor");
		if(cursorName==null)
			se.setAttribute("oldCursor", se.style.cursor);
		se.style.cursor="n-resize";
		igtbl_colButtonMouseOut(gn);
	}
	else if(se.cellIndex==fac-1)
	{
		var cursorName = se.getAttribute("oldCursor");
		if(cursorName!=null)
		{
			se.style.cursor=cursorName;
			se.removeAttribute("oldCursor");
		}
		igtbl_colButtonMouseOut(gn);
	}
	else 
	{
		var column=(cell?cell.Column:null);
		if(column && !se.parentNode.getAttribute("groupRow") && column.ColumnType==7 && column.CellButtonDisplay==0)
			igtbl_showColButton(gn,cell.Element);
		else
			igtbl_colButtonMouseOut(gn);
	}
	return false;
}

// Event handler for mouse out from cell
function igtbl_cellMouseOut(evnt,gn)
{
	var gs=igtbl_getGridById(gn);
	var se=igtbl_srcElement(evnt);
	if(!gs || !se)
		return;
	if(se.tagName=="NOBR")
	{
		var cell=igtbl_getCellById(se.parentNode.id);
		if(cell)
			cell.Element.childNodes[0].title="";
		se=se.parentNode;
	}
	while(se && (se.tagName!="TD" || se.id.length<gn.length || se.id.substr(0,gn.length)!=gn))
		se=se.parentNode;
	if(!se || se.tagName!="TD" || se.id=="")
		return;
	var row;
	var id=se.id;
	var cell=igtbl_getCellById(id);
	if(cell)
	{
		row=cell.Row;
		if(!cell) return;
		id=cell.Element.id;
	}
	else row=igtbl_getRowById(se.id);
	if(!row && !cell) return;
	if(igtbl_fireEvent(gn,gs.Events.MouseOut,"(\""+gn+"\",\""+id+"\",0)")==true)
		return;
}

function igtbl_cellDblClick(evnt,gn)
{
	var gs=igtbl_getGridById(gn);
	if(!gs)
		return;
	var se=igtbl_srcElement(evnt);
	if(se.id==gn+"_vl" || se.id==gn+"_tb" || se.id==gn+"_ta")
		return;
	while(se && (se.tagName!="TD" && se.tagName!="TH" || se.id.length<gn.length || se.id.substr(0,gn.length)!=gn))
		se=se.parentNode;
	if(!se)
		return;
	if(se.tagName!="TD" && se.tagName!="TH")
		return;
	var row;
	var id=se.id;
	var cell=igtbl_getCellById(id);
	if(cell)
	{
		row=cell.Row;
		id=cell.Element.id;
	}
	else row=igtbl_getRowById(se.id);
	var column=igtbl_getColumnById(se.id);
	if(!row && !cell && !column) return;
	if(se.tagName=="TD")
	{
		if(se.getAttribute("groupRow"))
		{
			igtbl_toggleRow(gn,se.parentNode.id);
			return;
		}
		if(se.cellIndex<row.Band.firstActiveCell-1)
			return;
		if(igtbl_fireEvent(gn,gs.Events.DblClick,"(\""+gn+"\",\""+id+"\")")==true)
			return;
		if(se.cellIndex==row.Band.firstActiveCell-1)
		{
			if(gs.NeedPostBack)
				igtbl_doPostBack(gn,'RowDblClick:'+se.parentNode.id+(se.parentNode.getAttribute("level")?"\x05"+se.parentNode.getAttribute("level"):""));
			return;
		}
		var bandNo=row.Band.Index;
		if(gs.NeedPostBack)
		{
			if(igtbl_getCellClickAction(gn,bandNo)==2)
				igtbl_doPostBack(gn,'RowDblClick:'+se.parentNode.id+(se.parentNode.getAttribute("level")?"\x05"+se.parentNode.getAttribute("level"):""));
			else
				igtbl_doPostBack(gn,'CellDblClick:'+id+(cell.Element.getAttribute("level")?"\x05"+cell.Element.getAttribute("level"):""));
			return;
		}
		if(igtbl_getCellClickAction(gn,bandNo)==0)
			return;
		if(!gs.exitEditCancel)
		{
			if(cell.Column.getAllowUpdate()==3)
				row.editRow(true);

⌨️ 快捷键说明

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