📄 ig_webgrid.js
字号:
/*
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 + -