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