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

📄 ig_webgrid_an.js

📁 研究怎样通过手写代码来完成自动生成代码
💻 JS
📖 第 1 页 / 共 2 页
字号:
/* 
Infragistics UltraWebGrid Script 
Version 5.1.20051.37
Copyright (c) 2001-2005 Infragistics, Inc. All Rights Reserved.
*/

function igtbl_addNewClickDown(evnt,gn) 
{
	if(igtbl_button(gn,evnt)!=0)
		return;
	var se=igtbl_srcElement(evnt);
	if(se.tagName=="TD" && se.getAttribute("addNew") && !igtbl_isDisabled(se))
		igtbl_changeStyle(gn,se,gn+'_SelHeadClass');
	igtbl_activate(gn);
}

function igtbl_addNewClickUp(evnt,gn) 
{
	if(igtbl_button(gn,evnt)!=0)
		return;
	var se=igtbl_srcElement(evnt);
	if(se.tagName=="TD" && se.getAttribute("addNew") && !igtbl_isDisabled(se))
	{
		igtbl_changeStyle(gn,se,null);
		igtbl_addNew(gn,parseInt(se.getAttribute("bandNo"),10));
	}
	igtbl_activate(gn);
}

function igtbl_addNew(gn,bandNo)
{
	var g=igtbl_getGridById(gn);
	if(g.Bands[bandNo].AllowAddNew==2 || g.Bands[bandNo].AllowAddNew==0 && g.AllowAddNew!=1 || g.Bands[bandNo].IsGrouped)
		return null;
	var table=g.Bands[bandNo].curTable;
	var fac=g.Bands[bandNo].firstActiveCell;
	var clickRow=null;
	if(g.ActiveCell!="")
		clickRow=igtbl_getRowById(g.ActiveCell);
	else if(g.ActiveRow!="")
		clickRow=igtbl_getRowById(g.ActiveRow);
	if(!clickRow && bandNo==0)
		clickRow=g.Rows.getRow(0);
	var row=null,rowObj=null;
	if(g.Rows.Node)
	{
		g.noMoreRows=true;
		window.setTimeout("igtbl_cancelNoMoreRows('"+g.Id+"')",500);
		var rows=g.Rows;
		if(clickRow)
		{
			if(bandNo==clickRow.Band.Index+1)
			{
				if(!clickRow.Rows)
				{
					if(g.LoadOnDemand==3 && !clickRow.HiddenElement)
						clickRow.requestChildRows();
					else
						clickRow.Rows=new igtbl_Rows(clickRow.Node.selectSingleNode("Rows"),g.Bands[clickRow.Band.Index+1],clickRow);
				}
				rows=clickRow.Rows;
			}
			else if(bandNo>clickRow.Band.Index+1)
				return null;
			else
			{
				var pr=clickRow;
				while(pr && pr.Band.Index!=bandNo)
					pr=pr.ParentRow;
				if(!pr)
					return null;
				rows=pr.OwnerCollection;
			}
		}
		else if(bandNo!=0)
			return null;
		rowObj=rows.addNew();
		if(!rowObj)
			return null;
		row=rowObj.Element;
	}
	else
	{
		if(!table)
		{
			var hidRow=document.createElement("tr");
			var rn=clickRow.Element.id.split("_");
			rn[0]=gn+"rh";
			hidRow.id=rn.join("_");
			hidRow.setAttribute("hiddenRow",true);
			var ec=document.createElement("td");
			ec.className=igtbl_getExpAreaClass(gn,bandNo-1);
			ec.style.borderWidth=0;
			ec.style.textAlign="center";
			ec.style.padding=0;
			ec.style.cursor="default";
			ec.innerHTML=" ";
			hidRow.appendChild(ec);
			if(igtbl_getRowSelectors(gn,bandNo-1)==1)
			{
				var rsc=document.createElement("td");
				rsc.className=igtbl_getRowLabelClass(gn,bandNo-1);
				rsc.innerHTML=" ";
				hidRow.appendChild(rsc);
			}
			var majCell=document.createElement("td");
			majCell.style.overflow="auto";
			majCell.style.border=0;
			majCell.style.width="100%";
			majCell.colSpan=g.Bands[bandNo-1].VisibleColumnsCount;
			hidRow.appendChild(majCell);
			table=document.createElement("table");
			rn[0]=gn+"t";
			table.id=rn.join("_");
			table.border=0;
			table.cellPadding=g.Element.cellPadding;
			table.cellSpacing=g.Element.cellSpacing;
			table.setAttribute("bandNo",bandNo);
			table.style.cssText=g.Element.style.cssText;
			table.style.position="";
			table.style.width="";
			var colGr=document.createElement("colgroup");
			var col;

			col=document.createElement("col");
			col.width=g.Bands[bandNo].Indentation;
			colGr.appendChild(col);

			if(igtbl_getRowSelectors(gn,bandNo)==1)
			{
				col=document.createElement("col");
				col.width=(g.Bands[bandNo].RowLabelWidth?g.Bands[bandNo].RowLabelWidth:"22px");
				colGr.appendChild(col);
			}
			for(var i=0;i<g.Bands[bandNo].Columns.length;i++)
			{
				var clmn=g.Bands[bandNo].Columns[i];
				if(!clmn.getHidden() && clmn.hasCells())
				{
					col=document.createElement("col");
					col.style.width=clmn.Width;
					colGr.appendChild(col);
				}
			}
			for(var i=0;i<g.Bands[bandNo].Columns.length;i++)
				if(g.Bands[bandNo].Columns[i].getHidden())
				{
					col=document.createElement("col");
					col.style.width=0;
					colGr.appendChild(col);
				}
			table.appendChild(colGr);
			var tHead=document.createElement("thead");
			igtbl_addEventListener(tHead,"mousedown",igtbl_headerClickDown);
			igtbl_addEventListener(tHead,"mouseup",igtbl_headerClickUp);
			igtbl_addEventListener(tHead,"mouseout",igtbl_headerMouseOut);
			igtbl_addEventListener(tHead,"mousemove",igtbl_headerMouseMove);
			igtbl_addEventListener(tHead,"mouseover",igtbl_headerMouseOver);
			igtbl_addEventListener(tHead,"contextmenu",igtbl_headerContextMenu);
			var tr=document.createElement("tr");
			var th;
			var img;

			th=document.createElement("th");
			th.className=g.Bands[bandNo].NonSelHeaderClass;
			th.height=g.Bands[bandNo].DefaultRowHeight;
			img=document.createElement("img");
			img.src=g.BlankImage;
			img.border=0;
			th.appendChild(img);
			tr.appendChild(th);

			if(igtbl_getRowSelectors(gn,bandNo)==1)
			{
				th=document.createElement("th");
				th.className=g.Bands[bandNo].NonSelHeaderClass;
				th.height=g.Bands[bandNo].DefaultRowHeight;
				img=document.createElement("img");
				img.src=g.BlankImage;
				img.border=0;
				th.appendChild(img);
				tr.appendChild(th);
			}
			for(var i=0;i<g.Bands[bandNo].Columns.length;i++)
			{
				var column=g.Bands[bandNo].Columns[i];
				if(!column.Hidden && column.hasCells())
				{
					th=document.createElement("th");
					th.id=gn+"c"+"_"+bandNo+"_"+i.toString();
					th.className=column.getHeadClass();
					th.setAttribute("columnNo",i);
					th.innerHTML=column.HeaderText;
					tr.appendChild(th);
				}
			}
			tHead.appendChild(tr);
			if(g.Bands[bandNo].ColHeadersVisible!=1)
				tHead.style.display="none";
			table.appendChild(tHead);
			var tBody=document.createElement("tbody");
			table.appendChild(tBody);
			if(g.Bands[bandNo].ColFootersVisible==1)
			{
				var tFoot=document.createElement("tfoot");
				var tr=document.createElement("tr");
				var th;

				th=document.createElement("th");
				th.className=igtbl_getExpAreaClass(gn,bandNo);
				th.innerHTML="&nbsp;";
				tr.appendChild(th);

				if(igtbl_getRowSelectors(gn,bandNo)==1)
				{
					th=document.createElement("th");
					th.className=igtbl_getRowLabelClass(gn,bandNo);
					th.innerHTML="&nbsp;";
					tr.appendChild(th);
				}
				for(var i=0;i<g.Bands[bandNo].Columns.length;i++)
				{
					var column=g.Bands[bandNo].Columns[i];
					if(!column.Hidden && column.hasCells())
					{
						th=document.createElement("th");
						th.id=gn+"f"+"_"+bandNo+"_"+i.toString();
						th.className=igtbl_getFooterClass(gn,bandNo,i);
						th.innerHTML="&nbsp;";
						tr.appendChild(th);
					}
				}
				tFoot.appendChild(tr);
				table.appendChild(tFoot);
			}
			majCell.appendChild(table);
			clickRow.Element.childNodes[0].oldInnerHTML=clickRow.Element.childNodes[0].innerHTML;
			clickRow.Element.childNodes[0].innerHTML="<img src="+igtbl_getCollapseImage(gn,bandNo-1)+" border=0 onclick=\"igtbl_toggleRow('"+gn+"','"+clickRow.Element.id+"');\">";
			clickRow.Element.parentNode.insertBefore(hidRow,clickRow.Element.nextSibling);
			g.ExpandedRows[clickRow.Element.id]=true;
			clickRow.HiddenElement=hidRow;
		}
		row=document.createElement("tr");
		var rows=table.tBodies[0].rows;
		var lastRow,lrObj,altRow;
		if(rows.length>0)
			lastRow=rows[rows.length-1];
		if(lastRow)
		{
			if(lastRow.parentNode.tagName=="TFOOT")
				lastRow=lastRow.previousSibling;
			if(lastRow.getAttribute("hiddenRow"))
				lastRow=lastRow.previousSibling;
			lrObj=igtbl_getRowById(lastRow.id);
			altRow=lastRow.getAttribute("alt")!="true" && (g.Bands[bandNo].AltClass!="" || g.AltClass!="");
			var rLastRowId=lrObj.OwnerCollection.getLastRowId();
			if(lastRow.id!=rLastRowId)
			{
				var l1=igtbl_getRowById(rLastRowId);
				if(l1)
				{
					lrObj=l1;
					lastRow=l1.Element;
				}
			}
			var rn=rLastRowId.split("_");
			rn[rn.length-1]=parseInt(rn[rn.length-1],10)+1;
			row.id=rn.join("_");
			lrObj.OwnerCollection.setLastRowId(row.id);
		}
		else
		{
			if(!clickRow)
				row.id=gn+"r_"+(g.AllowPaging && g.EIRM?(g.CurrentPageIndex-1)*g.PageSize:0)
			else
				row.id=clickRow.Element.id+"_0";
		}
		if(g.Bands[bandNo].DefaultRowHeight!="")
			row.style.height=g.Bands[bandNo].DefaultRowHeight;
		if(igtbl_fireEvent(gn,g.Events.BeforeRowInsert,"(\""+gn+"\",\""+row.id+"\")")==true)
		{
			if(!g.Bands[bandNo].curTable && typeof(clickRow)!="undefined" && clickRow!=null)
			{
				clickRow.Element.childNodes[0].innerHTML=clickRow.Element.childNodes[0].oldInnerHTML;
				clickRow.Element.parentNode.removeChild(table.parentNode.parentNode);
			}
			if(g.NeedPostBack)
				igtbl_doPostBack(gn,"");
			return null;
		}
		if(lastRow)
		{
			lrObj.OwnerCollection.rows[lrObj.OwnerCollection.length]=null;
			lrObj.OwnerCollection.length++;
			if(lrObj.ParentRow)

⌨️ 快捷键说明

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