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

📄 ig_webgrid.js

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

var igtbl_lastActiveGrid="";

function igtbl_initGrid(gridId) 
{
	var xml=ig_csom.getElementById(gridId+"_xml");
	var gridElement=igtbl_getElementById("G_"+gridId);
	var grid=new igtbl_Grid(gridElement,xml);
	var expRowsIds=grid.AddnlProps[3];
	for(var i=0;i<expRowsIds.length;i++)
		igtbl_toggleRow(grid.Id,expRowsIds[i],true);
	var selRowsIds=grid.AddnlProps[4];
	for(i=0;i<selRowsIds.length;i++)
		igtbl_selectRow(grid.Id,selRowsIds[i]);
	var selCellsIds=grid.AddnlProps[5];
	for(i=0;i<selCellsIds.length;i++)
		igtbl_selectCell(grid.Id,selCellsIds[i]);
	var activeCellId=grid.AddnlProps[6];
	var activeRowId=grid.AddnlProps[7];
	var sortedColsIds=grid.AddnlProps[8];
	if(sortedColsIds)
		grid.addSortColumn(sortedColsIds);
	var de=grid.DivElement;
	if(grid.scrElem)
		de=grid.scrElem;
	var scrollLeft=grid.AddnlProps[9];
	if(scrollLeft && !grid.UseFixedHeaders)
		de.scrollLeft=scrollLeft;
	grid.alignDivs(scrollLeft);
	var scrollTop=grid.AddnlProps[10];
	if(scrollTop)
		de.scrollTop=scrollTop;
	if(activeCellId)
	{
		grid.setActiveCell(igtbl_getCellById(activeCellId));
		var cell=grid.oActiveCell;
		if(cell)
		{
			cell.scrollToView();
			if(cell.Band.getSelectTypeCell()==3)
				grid.Element.setAttribute("startPointCell",cell.Element.id);
		}
	}
	else if(activeRowId)
	{
		grid.setActiveRow(igtbl_getRowById(activeRowId));
		var row=grid.oActiveRow;
		if(row)
		{
			row.scrollToView();
			if(row.Band.getSelectTypeRow()==3)
				grid.Element.setAttribute("startPointRow",row.Element.id);
		}
	}
	grid.GridIsLoaded=true;
	igtbl_fireEvent(grid.Id,grid.Events.InitializeLayout,'("'+grid.Id+'");');
	return grid;
}

/* use igcsom.getElementById wherever is possible */
function igtbl_getElementById(tagId) 
{
	var obj=ig_csom.getElementById(tagId);
	if(obj && obj.length && typeof(obj.tagName)=="undefined")
	{
		var i=0;
		while(i<obj.length && (obj[i].id!=tagId || !igtbl_isVisible(obj[i]))) i++;
		if(i<obj.length) obj=obj[i];
		else obj=obj[0];
	}
	return obj;
}

function igtbl_getGridById(gridId) 
{
	if(typeof(igtbl_gridState)=="undefined")
		return null;
	var grid=igtbl_gridState[gridId];
	if(!grid)
		for(var gId in igtbl_gridState)
			if(igtbl_gridState[gId].UniqueID==gridId || igtbl_gridState[gId].ClientID==gridId)
			{
				grid=igtbl_gridState[gId];
				break;
			}
	return grid;
}

function igtbl_getBandById(tagId) 
{
	if(!tagId)
		return null;
	var parts = tagId.split("_");
	var bandIndex = parts.length - 2;
	var gridId = parts[0];
	var el=igtbl_getElementById(tagId);
	if((gridId.charAt(gridId.length-3)=="g" && gridId.charAt(gridId.length-2)=="r" && gridId.charAt(gridId.length-1)=="c" || gridId.charAt(gridId.length-3)=="s" && gridId.charAt(gridId.length-2)=="g" && gridId.charAt(gridId.length-1)=="r") && el && el.getAttribute("groupRow"))
	{
		gridId=gridId.substr(0,gridId.length-3);
		bandIndex--;
	}
	else if(el && (gridId.charAt(gridId.length-2)=="r" && gridId.charAt(gridId.length-1)=="c" && el.tagName=="TD" || gridId.charAt(gridId.length-2)=="g" && gridId.charAt(gridId.length-1)=="r" && el.getAttribute("groupRow") || gridId.charAt(gridId.length-2)=="r" && gridId.charAt(gridId.length-1)=="h" && el.getAttribute("hiddenRow")))
	{
		gridId=gridId.substr(0,gridId.length-2);
		bandIndex--;
	}
	else if(gridId.charAt(gridId.length-1)=="r" && el && el.tagName=="TR")
		gridId=gridId.substr(0,gridId.length-1);
	else if(gridId.charAt(gridId.length-1)=="c" && el && el.tagName=="TH")
	{
		gridId=gridId.substr(0,gridId.length-1);
		bandIndex=parts[1];
	}
	else
		return null;
	if(!igtbl_getGridById(gridId))
		return null;
	var grid = igtbl_getGridById(gridId);
	return grid.Bands[bandIndex];
}

function igtbl_getColumnById(tagId) 
{
	if(!tagId)
		return null;
	var parts = tagId.split("_");
	var bandIndex = parts.length - 2;
	var gridId = parts[0];
	var el=igtbl_getElementById(tagId);
	if(gridId.charAt(gridId.length-2)=="r" && gridId.charAt(gridId.length-1)=="c" && el && el.tagName=="TD")
	{
		gridId=gridId.substr(0,gridId.length-2);
		bandIndex=el.parentNode.parentNode.parentNode.getAttribute("bandNo");
	}
	else if(gridId.charAt(gridId.length-1)=="c")
	{
		if(el && el.tagName!="TH")
			return null;
		gridId=gridId.substr(0,gridId.length-1);
		bandIndex=parts[1];
	}
	else if(gridId.charAt(gridId.length-2)=="c" && gridId.charAt(gridId.length-1)=="g")
	{
		if(el && el.tagName!="DIV")
			return null;
		gridId=gridId.substr(0,gridId.length-2);
		bandIndex=parts[1];
	}
	else
		return null;
	if(!igtbl_getGridById(gridId))
		return null;
	var grid = igtbl_getGridById(gridId);
	var band = grid.Bands[bandIndex];
	var colIndex = parts[parts.length - 1];
	return band.Columns[colIndex];
}

function igtbl_getRowById(tagId) 
{
	if(!tagId)
		return null;
	var parts = tagId.split("_");
	var gridId = parts[0];
	var row=null;
	var isGrouped=false;
	if(gridId.charAt(gridId.length-3)=="g" && gridId.charAt(gridId.length-2)=="r" && gridId.charAt(gridId.length-1)=="c")
	{
		row=igtbl_getElementById(tagId);
		if(typeof(row)!="undefined" && row)
			row=row.parentNode;
		if(!row || !row.getAttribute("groupRow"))
			row=null;
		else
			gridId=gridId.substr(0,gridId.length-3);
		isGrouped=true;
	}
	if(row==null && gridId.charAt(gridId.length-3)=="s" && gridId.charAt(gridId.length-2)=="g" && gridId.charAt(gridId.length-1)=="r")
	{
		row=igtbl_getWorkRow(igtbl_getElementById(tagId));
		if(!row || !row.getAttribute("groupRow"))
			row=null;
		else
			gridId=gridId.substr(0,gridId.length-3);
		isGrouped=true;
	}
	if(row==null && gridId.charAt(gridId.length-2)=="g" && gridId.charAt(gridId.length-1)=="r")
	{
		row=igtbl_getElementById(tagId);
		if(!row || !row.getAttribute("groupRow"))
			row=null;
		else
			gridId=gridId.substr(0,gridId.length-2);
		isGrouped=true;
	}
	if(row==null && gridId.charAt(gridId.length-2)=="r" && gridId.charAt(gridId.length-1)=="h")
	{
		row=igtbl_getElementById(tagId);
		if(typeof(row)!="undefined" && row)
			row=row.previousSibling;
		if(!row || !row.getAttribute("hiddenRow"))
			row=null;
		else
			gridId=gridId.substr(0,gridId.length-2);
	}
	if(row==null && gridId.charAt(gridId.length-2)=="r" && gridId.charAt(gridId.length-1)=="c")
	{
		row=igtbl_getElementById(tagId);
		if(typeof(row)!="undefined" && row)
			row=row.parentNode;
		if(!row || row.tagName!="TR")
			row=null;
		else
			gridId=gridId.substr(0,gridId.length-2);
	}
	if(row==null && gridId.charAt(gridId.length-1)=="r")
	{
		row=igtbl_getElementById(tagId);
		if(!row || row.tagName!="TR")
			row=null;
		else
			gridId=gridId.substr(0,gridId.length-1);
	}
	if(row==null && gridId.charAt(gridId.length-1)=="l")
	{
		row=igtbl_getElementById(tagId);
		if(typeof(row)!="undefined" && row)
			row=row.parentNode;
		if(!row || row.tagName!="TR")
			row=null;
		else
			gridId=gridId.substr(0,gridId.length-1);
	}
	if(row==null)
		return null;
	var gs=igtbl_getGridById(gridId);
	if(!gs)
		return null;
	if(typeof(row.Object)!="undefined")
		return row.Object;
	else
	{
		parts=new Array();
		while(true)
		{
			row=igtbl_getWorkRow(row);
			var level=-1;
			if(gs.Bands.length==1 && !gs.Bands[0].IsGrouped)
				level=row.sectionRowIndex;
			else
				for(var i=0;i<row.parentNode.childNodes.length;i++)
				{
					if(!row.parentNode.childNodes[i].getAttribute("hiddenRow"))
						level++;
					if(row.parentNode.childNodes[i]==row)
						break;
				}
			parts[parts.length]=level;
			if(row.parentNode.parentNode==gs.Element)
				break;
			row=row.parentNode.parentNode.parentNode.parentNode.previousSibling;
		}
		parts=parts.reverse();
		var rows=gs.Rows;
		for(var i=0;i<parts.length;i++)
		{
			row=rows.getRow(parseInt(parts[i],10),row.Element?null:row);
			if(row && row.Expandable && i<parts.length-1)
				rows=row.Rows;
			else if(i<parts.length-1)
			{
				row=null;
				break;
			}
		}
		if(!row)
			return null;
		delete parts;
		row.Element.Object=row;
		return row;
	}
}

function igtbl_getCellById(tagId) 
{
	if(!tagId)
		return null;
	var parts = tagId.split("_");
	var gridId = parts[0];
	if(!(gridId.charAt(gridId.length-2)=="r" && gridId.charAt(gridId.length-1)=="c"))
		return null;
	gridId=gridId.substr(0,gridId.length-2);
	var gs=igtbl_getGridById(gridId);
	if(!gs)
		return null;
	var cellObj=igtbl_getElementById(tagId);
	if(!cellObj || cellObj.tagName!="TD")
		return null;
	if(cellObj.Object)
		return cellObj.Object;
	var row=igtbl_getRowById(cellObj.parentNode.id);
	if(!row)
		return null;
	var column=row.Band.Columns[parseInt(parts[parts.length-1],10)];
	return row.getCellByColumn(column);
}

function igtbl_needPostBack(gn)
{
	igtbl_getGridById(gn).NeedPostBack=true;
}

function igtbl_cancelPostBack(gn)
{
	igtbl_getGridById(gn).CancelPostBack=true;
}

function igtbl_getCollapseImage(gn,bandNo)
{
	var g=igtbl_getGridById(gn);
	return g.Bands[bandNo].getCollapseImage();
}

function igtbl_getExpandImage(gn,bandNo)
{
	var g=igtbl_getGridById(gn);
	return g.Bands[bandNo].getExpandImage();
}

function igtbl_getCellClickAction(gn,bandNo)
{
	var g=igtbl_getGridById(gn);
	return g.Bands[bandNo].getCellClickAction();
}

function igtbl_getSelectTypeCell(gn,bandNo)
{
	var g=igtbl_getGridById(gn);
	var res=g.SelectTypeCell;
	if(g.Bands[bandNo].SelectTypeCell!=0)
		res=g.Bands[bandNo].SelectTypeCell;
	return res;
}

function igtbl_getSelectTypeColumn(gn,bandNo)
{
	var g=igtbl_getGridById(gn);
	var res=g.SelectTypeColumn;
	if(g.Bands[bandNo].SelectTypeColumn!=0)
		res=g.Bands[bandNo].SelectTypeColumn;
	return res;
}

function igtbl_getSelectTypeRow(gn,bandNo)
{
	var g=igtbl_getGridById(gn);
	var res=g.SelectTypeRow;
	if(g.Bands[bandNo].SelectTypeRow!=0)
		res=g.Bands[bandNo].SelectTypeRow;
	return res;
}

function igtbl_getHeaderClickAction(gn,bandNo,columnNo)
{
	var g=igtbl_getGridById(gn);
	var res=g.HeaderClickAction;
	var band=g.Bands[bandNo];
	var column=band.Columns[columnNo];
	if(column.HeaderClickAction!=0)
		res=column.HeaderClickAction;
	else if(band.HeaderClickAction!=0)
		res=band.HeaderClickAction;
	if(res>1)
	{
		if(band.AllowSort!=0)
		{
			if(band.AllowSort==2)
				res=0;
		}
		else if(g.AllowSort==0 || g.AllowSort==2)
			res=0;
	}	
	return res;
}

function igtbl_getAllowUpdate(gn,bandNo,columnNo)
{
	var g=igtbl_getGridById(gn);
	var res=g.AllowUpdate;
	if(g.Bands[bandNo].AllowUpdate!=0)
		res=g.Bands[bandNo].AllowUpdate;
	if(typeof(columnNo)!="undefined" && g.Bands[bandNo].Columns[columnNo].AllowUpdate!=0)
		res=g.Bands[bandNo].Columns[columnNo].AllowUpdate;
	return res;
}

function igtbl_getAllowColSizing(gn,bandNo,columnNo)
{
	var g=igtbl_getGridById(gn);
	var res=g.AllowColSizing;
	if(g.Bands[bandNo].AllowColSizing!=0)
		res=g.Bands[bandNo].AllowColSizing;
	if(g.Bands[bandNo].Columns[columnNo].AllowColResizing!=0)
		res=g.Bands[bandNo].Columns[columnNo].AllowColResizing;
	return res;
}

function igtbl_getRowSizing(gn,bandNo,row)
{
	var g=igtbl_getGridById(gn);
	var res=g.RowSizing;
	if(g.Bands[bandNo].RowSizing!=0)
		res=g.Bands[bandNo].RowSizing;
	if(row.getAttribute("sizing"))
		res=parseInt(row.getAttribute("sizing"),10);
	return res;
}

function igtbl_getRowSelectors(gn,bandNo)
{
	var g=igtbl_getGridById(gn);
	return g.Bands[bandNo].getRowSelectors();
}

function igtbl_getNullText(gn,bandNo,columnNo)
{
	var g=igtbl_getGridById(gn);
	if(g.Bands[bandNo].Columns[columnNo].NullText!="")
		return g.Bands[bandNo].Columns[columnNo].NullText;
	if(g.Bands[bandNo].NullText!="")
		return g.Bands[bandNo].NullText;
	return g.NullText;
}

function igtbl_getEditCellClass(gn,bandNo)
{
	var g=igtbl_getGridById(gn);
	if(g.Bands[bandNo].EditCellClass!="")
		return g.Bands[bandNo].EditCellClass;
	return g.EditCellClass;
}

function igtbl_getFooterClass(gn,bandNo)
{
	var g=igtbl_getGridById(gn);
	return g.Bands[bandNo].getFooterClass();
}

⌨️ 快捷键说明

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