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

📄 ig_webgrid.js

📁 研究怎样通过手写代码来完成自动生成代码
💻 JS
📖 第 1 页 / 共 5 页
字号:
	if(igtbl_button(gn,evnt)==2)
		return;
	var te=gs.Element;
	te.removeAttribute("mouseDown");
	var se=igtbl_srcElement(evnt);
	while(se && (se.tagName!="TH" || se.id.length<gn.length || se.id.substr(0,gn.length)!=gn) && (se.tagName!="DIV" || !se.getAttribute("groupInfo")))
		se=se.parentNode;
	if(!se)
		return;
	if(se.tagName == "TH" || se.tagName == "DIV")
	{
		var column=igtbl_getColumnById(se.id);
		if(se.tagName=="TH" && !column) return;
		igtbl_fireEvent(gn,gs.Events.ColumnHeaderClick,"(\""+gn+"\",\""+se.id+"\",2)");
		if(igtbl_fireEvent(gn,gs.Events.MouseUp,"(\""+gn+"\",\""+se.id+"\",2)")==true)
		{
			evnt.cancelBubble=true;
			evnt.returnValue=false;
			return false;
		}
	}
}

function igtbl_gridSortColumn(gn,colId,shiftKey)
{
	var gs=igtbl_getGridById(gn);
	gs.sortColumn(colId,shiftKey);
	if(gs.sortingColumn && gs.oldColCursor);
		gs.sortingColumn.style.cursor=gs.oldColCursor;
	gs.stopHourGlass();
	if(gs.NeedPostBack)
		igtbl_doPostBack(gn,"shiftKey:"+shiftKey.toString());
}

function igtbl_headerMouseOut(evnt,gn) 
{
	if(!evnt && event)
		evnt=event;
	if(!gn && igtbl_lastActiveGrid)
		gn=igtbl_lastActiveGrid;
	if(!gn || !evnt)
		return false;
	var gs=igtbl_getGridById(gn);
	var se=igtbl_srcElement(evnt);
	if(!gs || !se)
		return;
	if(se.tagName=="NOBR" && se.title)
		se.title="";
	while(se && (se.tagName!="TH" || se.id.length<gn.length || se.id.substr(0,gn.length)!=gn) && (se.tagName!="DIV" || !se.getAttribute("groupInfo")))
		se=se.parentNode;
	if(!se)
		return;
	if(se.tagName == "TH")
	{
		var column=igtbl_getColumnById(se.id);
		if(!column) return;
		var sep=se.parentNode;
		if(gs.Element.getAttribute("elementMode")=="select")
			return true;
		if(igtbl_fireEvent(gn,gs.Events.MouseOut,"(\""+gn+"\",\""+se.id+"\",1)")==true)
			return true;
		if(se.cellIndex>column.Band.firstActiveCell-1 && (igtbl_getHeaderClickAction(gn,column.Band.Index,column.Index)!=1))
			igtbl_changeStyle(gn,se,null);
		return true;
	}
	else if(se.tagName == "DIV" && se.getAttribute("groupInfo"))
	{
		if(igtbl_fireEvent(gn,gs.Events.MouseOut,"(\""+gn+"\",\""+se.id+"\",1)")==true)
			return true;
		var groupInfo=se.getAttribute("groupInfo").split(":");
		if(groupInfo[0]!="band")
			igtbl_changeStyle(gn,se,null);
		return true;
	}
}

function igtbl_headerMouseOver(evnt,gn)
{
	if(!evnt && event)
		evnt=event;
	if(!gn && igtbl_lastActiveGrid)
		gn=igtbl_lastActiveGrid;
	if(!gn || !evnt)
		return false;
	var gs=igtbl_getGridById(gn);
	var se=igtbl_srcElement(evnt);
	if(!gs || !se)
		return;
	if(se.tagName=="NOBR")
	{
		var col=igtbl_getColumnById(se.parentNode.id);
		if(col)
		{
			var nobr=se;
			if(nobr.offsetWidth>se.parentNode.offsetWidth || nobr.offsetHeight>se.parentNode.offsetHeight)
				nobr.title=col.HeaderText;
		}
	}
	while(se && (se.tagName!="TH" || se.id.length<gn.length || se.id.substr(0,gn.length)!=gn) && (se.tagName!="DIV" || !se.getAttribute("groupInfo")))
		se=se.parentNode;
	if(!se)
		return;
	if(se.tagName!="DIV")
	{
		while(se && (se.tagName!="TH" || se.id.length<gn.length || se.id.substr(0,gn.length)!=gn))
			se=se.parentNode;
		if(!se)
			return;
	}
	if(se.tagName == "TH")
	{
		var column=igtbl_getColumnById(se.id);
		if(!column) return;
		if(igtbl_fireEvent(gn,gs.Events.MouseOver,"(\""+gn+"\",\""+se.id+"\",1)")==true)
			return;
	}
	else if(se.tagName == "DIV" && se.getAttribute("groupInfo"))
	{
		if(igtbl_fireEvent(gn,gs.Events.MouseOver,"(\""+gn+"\",\""+se.id+"\",1)")==true)
			return;
	}
}

function igtbl_headerMouseMove(evnt,gn)
{
	if(!evnt && event)
		evnt=event;
	if(!gn && igtbl_lastActiveGrid)
		gn=igtbl_lastActiveGrid;
	if(!gn || !evnt)
		return false;
	var gs=igtbl_getGridById(gn);
	var se=igtbl_srcElement(evnt);
	if(!gs || !se)
		return false;
	while(se && (se.tagName!="TH" || se.id.length<gn.length || se.id.substr(0,gn.length)!=gn) && (se.tagName!="DIV" || !se.getAttribute("groupInfo")))
		se=se.parentNode;
	if(!se)
		return;
	if(se.tagName == "TH")
	{
		var column=igtbl_getColumnById(se.id);
		if(!column) return;
		var bandNo=column.Band.Index;
		var columnNo=column.Index;
		if(igtbl_button(gn,evnt)==0)
		{
			var mode = gs.Element.getAttribute("elementMode");
			if(mode!=null && mode=="resize") 
				igtbl_resizeDivMouseMove(evnt);
			else if(mode=="select" && se.cellIndex>column.Band.firstActiveCell-1 && igtbl_getHeaderClickAction(gn,bandNo,columnNo)==1 && !evnt.ctrlKey) 
				igtbl_selectColumnRegion(gn,se);
			else
			{
				var cursorName = se.getAttribute("oldCursor");
				if(cursorName != null)
				{
					se.style.cursor=cursorName;
					se.removeAttribute("oldCursor");
				}
				if(se.cellIndex>column.Band.firstActiveCell-1 && (igtbl_getHeaderClickAction(gn,bandNo,columnNo)!=1 || gs.SelectedColumns[se.id] || igtbl_getSelectTypeColumn(gn,bandNo)<2))
					if(column.AllowGroupBy==1 && gs.ViewType==2 && gs.GroupByBox.Element || column.Band.AllowColumnMoving>1)
					{
						if(se.getAttribute("justClicked"))
						{
							if(typeof(igtbl_headerDragStart)!="undefined")
								igtbl_headerDragStart(gn,se,evnt);
						}
						else
							igtbl_changeStyle(gn,se,null);
					}
			}
		}
		else 
		{
			var te=gs.Element;
			te.removeAttribute("elementMode");
			te.removeAttribute("resizeColumn");
			te.removeAttribute("selectMethod");
			if(!te.getAttribute("shiftSelect"))
				te.removeAttribute("startColumn");
			if(se.cellIndex>=column.Band.firstActiveCell && igtbl_getOffsetX(evnt,se)>igtbl_clientWidth(se)-4 && igtbl_getAllowColSizing(gn,bandNo,columnNo)==2)
			{
				var cursorName = se.getAttribute("oldCursor");
				if(cursorName == null)
					se.setAttribute("oldCursor", se.style.cursor);
				se.style.cursor="w-resize";
			}
			else if(se.cellIndex>=column.Band.firstActiveCell)
			{
				var cursorName = se.getAttribute("oldCursor");
				if(cursorName != null)
				{
					se.style.cursor=cursorName;
					se.removeAttribute("oldCursor");
				}
			}
		}
		if(se.getAttribute("justClicked"))
			se.removeAttribute("justClicked");
		evnt.cancelBubble=true;
		evnt.returnValue=false;
		return true;
	}
	else if(se.tagName == "DIV" && se.getAttribute("groupInfo"))
	{
		var groupInfo=se.getAttribute("groupInfo").split(":");
		if(groupInfo[0]!="band")
		{
			if(igtbl_button(gn,evnt)==0)
			{
				var cursorName = se.getAttribute("oldCursor");
				if(cursorName != null)
				{
					se.style.cursor=cursorName;
					se.removeAttribute("oldCursor");
				}
				igtbl_changeStyle(gn,se,null);
				if(gs.ViewType==2 && se.getAttribute("justClicked") && typeof(igtbl_headerDragStart)!="undefined")
					igtbl_headerDragStart(gn,se,evnt);
			}
		}
		if(se.getAttribute("justClicked"))
			se.removeAttribute("justClicked");
		return true;
	}
	return false;
}

function igtbl_tableMouseMove(evnt,gn)
{
	var gs=igtbl_getGridById(gn);
	var se=igtbl_srcElement(evnt);
	if(!gs || !se)
		return false;
	var te=gs.Element;
	if(igtbl_button(gn,evnt)==0 && te.getAttribute("elementMode")=="resize")
	{
		if((se.id==gn+"_div" || se.id==gn+"_hdiv" || se.tagName=="TABLE" && se.parentNode.parentNode.getAttribute("hiddenRow") || se.tagName=="TD" && se.parentNode.getAttribute("hiddenRow")) && te.getAttribute("resizeColumn"))
		{
			if(typeof(te.parentNode.oldCursor)!="string")
			{
				te.parentNode.oldCursor=te.parentNode.style.cursor;
				te.parentNode.style.cursor="w-resize";
				if(gs.StatHeader)
					gs.StatHeader.Element.parentNode.parentNode.style.cursor="w-resize";
			}
			var column=te.getAttribute("resizeColumn");
			var resCol=igtbl_getElementById(column);
			var cg=se.childNodes[0];
			if(se.id==gn+"_div" || se.tagName=="TD")
				cg=cg.childNodes[0];
			else if(se.id==gn+"_hdiv")
				cg=cg.childNodes[0].childNodes[0];
			if(!cg)
				return false;
			var co=cg.childNodes[resCol.cellIndex];
			var c1w=evnt.clientX-igtbl_getLeftPos(resCol);
			igtbl_resizeColumn(gn,resCol.id,c1w);
			if(evnt.cancelBubble)
				evnt.cancelBubble=true;
			if(evnt.returnValue)
				evnt.returnValue=false;
			return false;
		}
		else if(te.getAttribute("resizeRow") && (se.id==gn+"_div" || se.tagName=="TH" && se.parentNode.parentNode.tagName=="TFOOT" || se.tagName=="TD" && se.parentNode.getAttribute("hiddenRow")))
		{
			if(typeof(te.parentNode.oldCursor)!="string")
			{
				te.oldCursor=te.style.cursor;
				te.style.cursor="n-resize";
			}
			var rowId=te.getAttribute("resizeRow");
			var row=igtbl_getElementById(rowId);
			if(!row || row.getAttribute("hiddenRow"))
				return;
			var r1h=row.offsetHeight+(evnt.clientY-(igtbl_getTopPos(row)+row.offsetHeight));
			igtbl_resizeRow(gn,rowId,r1h);
			if(evnt.cancelBubble)
				evnt.cancelBubble=true;
			if(evnt.returnValue)
				evnt.returnValue=false;
			return false;
		}
	}
	else if(typeof(te.parentNode.oldCursor)=="string")
	{
		te.parentNode.style.cursor=te.parentNode.oldCursor;
		if(gs.StatHeader)
			gs.StatHeader.Element.parentNode.parentNode.style.cursor=te.parentNode.oldCursor;
		te.parentNode.oldCursor=null;
	}
}

function igtbl_tableMouseUp(evnt,gn)
{
	var gs=igtbl_getGridById(gn);
	if(!gs)
		return false;
	var se=igtbl_srcElement(evnt);
	if(se.id==gn+"_div" && gs.Element.getAttribute("elementMode")=="resize")
	{
		gs.Element.removeAttribute("elementMode");
		gs.Element.removeAttribute("resizeColumn");
	}
}

function igtbl_resizeColumn(gn,colId,width)
{
	var gs=igtbl_getGridById(gn);
	if(!gs)
		return false;
	var col=igtbl_getColumnById(colId);
	if(!col)
		return false;
	return col.setWidth(width);
}

function igtbl_selectColumnRegion(gn,se)
{
	var gs=igtbl_getGridById(gn);
	if(!gs)
		return;
	var te=gs.Element;
	var lastSelectedColumn=te.getAttribute("lastSelectedColumn");
	var selMethod=te.getAttribute("selectMethod");
	if(selMethod=="column" && se.id!=lastSelectedColumn)
	{
		var startColumn=igtbl_getColumnById(te.getAttribute("startColumn"));
		if(startColumn==null)
			startColumn=igtbl_getColumnById(se.id);
		var endColumn=igtbl_getColumnById(se.id);
		if(igtbl_getSelectTypeColumn(gn,se.parentNode.parentNode.parentNode.getAttribute("bandNo"))==3)
			gs.selectColRegion(startColumn,endColumn);
		else
		{
			igtbl_clearSelectionAll(gn);
			igtbl_selectColumn(gn,se.id);
		}
		gs.Element.setAttribute("lastSelectedColumn",se.id);
	}
}

function igtbl_resizeRow(gn,rowId,height)
{
	var gs=igtbl_getGridById(gn);
	if(!gs)
		return;
	var row=igtbl_getRowById(rowId);
	if(!row)
		return;
	if(height>0)
	{
		var cancel=false;
		if(igtbl_fireEvent(gn,gs.Events.BeforeRowSizeChange,"(\""+gn+"\",\""+row.Element.id+"\","+height+")")==true)
			cancel=true;
		if(!cancel)
		{
			var rowLabel=null;
			if(!row.GroupByRow && igtbl_getRowSelectors(gn,row.Band.Index)!=2)
				rowLabel=row.Element.cells[row.Band.firstActiveCell-1];
			row.Element.style.height=height;
			gs.removeChange("ResizedRows",row);
			gs.recordChange("ResizedRows",row,height);
			if(rowLabel)
				rowLabel.style.height=height;
			if(gs.UseFixedHeaders)
			{
				var i=0;
				while(i<row.Band.Columns.length && row.Band.Columns[i].getFixed()) i++;
				while(i<row.Band.Columns.length)
				{
					var column=row.Band.Columns[i];
					if(column.hasCells())
					{
						var cell=row.getCellByColumn(column);
						cell.getElement().style.height=height;
					}
					i++;
				}
			}
			gs.alignGrid();
			igtbl_fireEvent(gn,gs.Events.AfterRowSizeChange,"(\""+gn+"\",\""+row.Element.id+"\","+height+")");
		}
	}
}

function igtbl_cellClickDown(evnt,gn) 
{
	var gs=igtbl_getGridById(gn);
	if(!gs)
		return;
	igtbl_lastActiveGrid=gn;
	gs.Element.setAttribute("mouseDown","1");
	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") 
	{
		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 fac=row.Band.firstActiveCell;
		if(igtbl_fireEvent(gn,gs.Events.MouseDown,"(\""+gn+"\",\""+id+"\","+igtbl_button(gn,evnt)+")")==true)
		{
			evnt.cancelBubble=true;
			return true;
		}
		var band=row.Band;
		var bandNo=band.Index;
		if(igtbl_button(gn,evnt)==0 && se.cellIndex==fac-1 && igtbl_getOffsetY(evnt,se)>igtbl_clientHeight(se)-4 && igtbl_getRowSizing(gn,bandNo,se.parentNode)==2 && !se.getAttribute("groupRow"))
		{
			gs.Element.setAttribute("elementMode", "resize");
			gs.Element.setAttribute("resizeRow", se.parentNode.id);
			se.parentNode.style.height=se.parentNode.offsetHeight;
		}
		else if(se.cellIndex>=fac-1 || se.getAttribute("groupRow"))
		{
			var te=gs.Element;
			var workTableId;
			if(se.getAttribute("groupRow"))
				workTableId=se.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.id;
			else
				workTableId=se.parentNode.parentNode.parentNode.id;
			if(igtbl_button(gn,evnt)!=0)
				return;
			if(workTableId=="")
				return;
			if(!se.getAttribute("groupRow") && se.cellIndex==fac-1 && se.parentNode.cells[fac].childNodes.length>0 && se.parentNode.cells[fac].childNodes[0].tagName=="TABLE")
				return;
			te.removeAttribute("lastSelectedCell");
			var prevSelRow=gs.SelectedRows[igtbl_getWorkRow(se.parentNode).id];
			if(prevSelRow && igtbl_getLength(gs.SelectedRows)>1)
				prevSelRow=false;
			var selPresent=igtbl_getLength(gs.SelectedRows)>0 || igtbl_getLength(gs.SelectedCells)>0 || igtbl_getLength(gs.SelectedCols)>0;
			if(se.getAttribute("groupRow") || se.cellIndex==fac-1 || igtbl_getCellClickAction(gn,bandNo)==2)
			{
				if(!(igtbl_getSelectTypeRow(gn,bandNo)==3 && evnt.ctrlKey) && !(row.getSelected() && igtbl_getLength(gs.SelectedRows)==1))

⌨️ 快捷键说明

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