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

📄 ig_webgrid_ml.js

📁 研究怎样通过手写代码来完成自动生成代码
💻 JS
📖 第 1 页 / 共 2 页
字号:
		var eCombo = this.webCombo.Element
		var cell=igtbl_getElementById(eCombo.getAttribute("currentCell"));
		if(!cell)
			return;
		var gn = this.Id;
		var gs=igtbl_getGridById(gn);
		var oldText=igtbl_getInnerText(cell);

		var hasHref=false;
		if(cell.childNodes && cell.childNodes.length>0 && cell.childNodes[0].tagName=="A")
		{
			hasHref=true;
			oldText=igtbl_getInnerText(cell.childNodes[0]);
		}
		if(!cell.getAttribute("oldValue"))
			cell.setAttribute("oldValue",oldText);
		var changed=false;
		var column=igtbl_getColumnById(cell.id);
		var cellObj=igtbl_getCellById(cell.id);
		var displayValue=this.webCombo.getDisplayValue();
		this.webCombo.setDropDown(false);
		if(!this.webCombo.Prompt || this.webCombo.getSelectedIndex()>0)
		{	
			if(hasHref)
				changed=(igtbl_getInnerText(cell.childNodes[0])!=displayValue);
			else
				changed=(igtbl_getInnerText(cell)!=displayValue);
		}
		if(changed && !gs.insideBeforeUpdate)
		{
			gs.insideBeforeUpdate=true;
			var value=igtbl_fireEvent(gn,gs.Events.BeforeCellUpdate,"(\""+gn+"\",\""+cell.id+"\",\""+value+"\")");
			gs.insideBeforeUpdate=false;
			if(value==true)
				changed=false;
		}
		if(changed)
		{
			if(!displayValue)
				displayValue=this.webCombo.getDisplayValue();
			if(displayValue=="")
				displayValue=" ";
			if(hasHref)
			{
				igtbl_setInnerText(cell.childNodes[0],displayValue);
				cell.childNodes[0].href=(value.indexOf('@')>=0?"mailto:":"")+cell.childNodes[0].innerText;
			}
			else if(cell.childNodes.length>0 && cell.childNodes[0].tagName=="NOBR")
				igtbl_setInnerText(cell.childNodes[0],displayValue);
			else
				igtbl_setInnerText(cell.childNodes[0],displayValue);
			if(displayValue==" ")
				displayValue="";
			if(displayValue!=eCombo.getAttribute("oldInnerText"))
				igtbl_saveChangedCell(gs,cellObj,this.webCombo.getDataValue());
		}
		if(igtbl_fireEvent(gn,gs.Events.BeforeExitEditMode,"(\""+gn+"\",\""+cell.id+"\")")==true)
		{
			if(!gs.exitEditCancel && !gs.insideSetActive)
			{
				gs.insideSetActive=true;
				igtbl_setActiveCell(gn,igtbl_getElementById(eCombo.getAttribute("currentCell")));
				gs.insideSetActive=false;
			}
			gs.exitEditCancel=true;
			return;
		}
		this.webCombo.setVisible(false);
		igcmbo_displaying=null;
		gs.exitEditCancel=false;
		eCombo.removeAttribute("currentCell");
		eCombo.removeAttribute("oldInnerText");
		if(gs.ActiveCell!="")
			igtbl_setActiveCell(gn,igtbl_getElementById(gs.ActiveCell));
		else if(gs.ActiveRow!="")
			igtbl_setActiveRow(gn,igtbl_getElementById(gs.ActiveRow));

		igtbl_fireEvent(gn,gs.Events.AfterExitEditMode,"(\""+gn+"\",\""+cell.id+"\");");
		if(changed)
		{
			igtbl_fireEvent(gn,gs.Events.AfterCellUpdate,"(\""+gn+"\",\""+cell.id+"\");");
			if(gs.NeedPostBack)
			{
				gs.GridIsLoaded=false;
				igtbl_doPostBack(gn);
			}
		}
		this.webCombo = null;
		return;		
	}
}

function igtbl_dropDownListFocusOut(evnt,gn)
{
	if(typeof(event)!="undefined")
		evnt=event;
	var se=igtbl_srcElement(evnt);
	if(typeof(gn)=="undefined")
		gn=se.id.substr(0,se.id.length-3);
	var cell=igtbl_getElementById(se.getAttribute("currentCell"));
	if(!cell || se.getAttribute("noOnBlur"))
		return;
	var gs=igtbl_getGridById(gn);
	var oldText=se.getAttribute("oldInnerText");
	if(!cell.getAttribute("oldValue"))
		cell.setAttribute("oldValue",oldText);
	var column=igtbl_getColumnById(cell.id);
	var cellObj=igtbl_getCellById(cell.id);
	var value=igtbl_getInnerText(se.options[se.selectedIndex]);
	var changed=(oldText!=value);
	if(changed && value!=column.ValueListPrompt)
	{
		value=igtbl_fireEvent(gn,gs.Events.BeforeCellUpdate,"(\""+gn+"\",\""+cell.id+"\",\""+value+"\")");
		if(value==true)
			changed=false;
	}
	if(changed)
	{
		if(value==false || value==undefined)
			value=igtbl_getInnerText(se.options[se.selectedIndex]);
		if(value=="")
			value=" ";
		if(column.ValueListPrompt!="" && se.selectedIndex==0)
			value=se.getAttribute("oldInnerText");
		if(se.getAttribute("hasHref"))
		{
			cell.innerHTML="";
			var l=document.createElement("A");
			l.href=(value.indexOf('@')>=0?"mailto:":"")+value;
			igtbl_setInnerText(l,value);
			cell.appendChild(l);
		}
		else if(cell.childNodes.length>0 && cell.childNodes[0].tagName=="NOBR")
			igtbl_setInnerText(cell.childNodes[0],value);
		else
			igtbl_setInnerText(cell,value);
		if(value==" ")
			value="";
		igtbl_saveChangedCell(gs,cellObj,value);
	}
	else
	{
		if(se.getAttribute("hasHref"))
		{
			cell.innerHTML="";
			var l=document.createElement("A");
			l.href=(oldText.indexOf('@')>=0?"mailto:":"")+oldText;
			igtbl_setInnerText(l,oldText);
			cell.appendChild(l);
		}
		else
			igtbl_setInnerText(cell,oldText);
	}
	cell.removeAttribute("igCellText");
	if(igtbl_fireEvent(gn,gs.Events.BeforeExitEditMode,"(\""+gn+"\",\""+cell.id+"\")")==true)
	{
		if(!gs.exitEditCancel && !gs.insideSetActive)
		{
			gs.insideSetActive=true;
			igtbl_setActiveCell(gn,igtbl_getElementById(se.getAttribute("currentCell")));
			gs.insideSetActive=false;
		}
		gs.exitEditCancel=true;
		return;
	}
	gs.exitEditCancel=false;
	if(gs.ActiveCell!="")
		igtbl_setActiveCell(gn,igtbl_getElementById(gs.ActiveCell));
	else if(gs.ActiveRow!="")
		igtbl_setActiveRow(gn,igtbl_getElementById(gs.ActiveRow));
	if(evnt.rangeParent && igtbl_lastActiveGrid)
	{
		if(!igtbl_isChild(igtbl_lastActiveGrid,evnt.rangeParent))
			igtbl_lastActiveGrid="";
	}
	igtbl_fireEvent(gn,gs.Events.AfterExitEditMode,"(\""+gn+"\",\""+cell.id+"\");");
	igtbl_blur(gn);
	if(changed)
	{
		igtbl_fireEvent(gn,gs.Events.AfterCellUpdate,"(\""+gn+"\",\""+cell.id+"\");");
		if(gs.NeedPostBack)
			igtbl_doPostBack(gn);
	}
}

function igtbl_editBoxFocusOut(evnt,gn)
{
	if(typeof(event)!="undefined")
		evnt=event;
	var se=igtbl_srcElement(evnt);
	if(typeof(gn)=="undefined")
		gn=se.id.substr(0,se.id.length-3);
	var cell=igtbl_getElementById(se.getAttribute("currentCell"));
	if(!cell || se.getAttribute("noOnBlur"))
		return;
	var gs=igtbl_getGridById(gn);
	var oldText=se.getAttribute("oldInnerText");
	if(!cell.getAttribute("oldValue"))
		cell.setAttribute("oldValue",oldText);
	var value=se.value;
	var column=gs.Bands[cell.parentNode.parentNode.parentNode.getAttribute("bandNo")].Columns[igtbl_getColumnNo(gn,cell)];
	var cellObj=igtbl_getCellById(cell.id);
	if(column.MaskDisplay!="")
	{
		value=igtbl_Mask(gn,value,column.DataType,column.MaskDisplay);
		if(value=="")
			value=oldText;
	}
	if(column.Case==1)
		value=value.toLowerCase();
	else if(column.Case==2)
		value=value.toUpperCase();
	var changed=(oldText!=value);
	if(changed)
	{
		value=igtbl_fireEvent(gn,gs.Events.BeforeCellUpdate,"(\""+gn+"\",\""+cell.id+"\",\""+value+"\")");
		if(value==true)
			changed=false;
	}
	if(changed)
	{
		var iValue=se.value;
		if(value==false || value==undefined)
		{
			value=iValue;
			if(column.MaskDisplay!="")
			{
				value=igtbl_Mask(gn,value,column.DataType,column.MaskDisplay);
				if(value=="")
					value=oldText;
			}
			if(column.Case==1)
				value=value.toLowerCase();
			else if(column.Case==2)
				value=value.toUpperCase();
		}
		if(value=="")
			value=" ";
		if(se.getAttribute("hasHref"))
		{
			cell.innerHTML="";
			var l=document.createElement("A");
			l.href=(value.indexOf('@')>=0?"mailto:":"")+value;
			igtbl_setInnerText(l,value);
			cell.appendChild(l);
		}
		else if(cell.childNodes.length>0 && cell.childNodes[0].tagName=="NOBR")
			igtbl_setInnerText(cell.childNodes[0],value);
		else
			igtbl_setInnerText(cell,value);
		if(value==" ")
			value="";
		if(column.MaskDisplay!="")
		{
			value=igtbl_clarifyInput(gn,iValue.toString(),column.DataType);
			cell.setAttribute("unmaskedValue",value);
		}
		else if(column.FieldLength!=0 || column.Case!=0)
		{
			value=se.value;
			cell.setAttribute("unmaskedValue",value);
		}
		igtbl_saveChangedCell(gs,cellObj,value);
	}
	else
	{
		if(se.getAttribute("hasHref"))
		{
			cell.innerHTML="";
			var l=document.createElement("A");
			l.href=(oldText.indexOf('@')>=0?"mailto:":"")+oldText;
			igtbl_setInnerText(l,oldText);
			cell.appendChild(l);
		}
		else
			igtbl_setInnerText(cell,oldText);
	}
	cell.removeAttribute("igCellText");
	if(igtbl_fireEvent(gn,gs.Events.BeforeExitEditMode,"(\""+gn+"\",\""+cell.id+"\")")==true)
	{
		if(!gs.exitEditCancel && !gs.insideSetActive)
		{
			gs.insideSetActive=true;
			igtbl_setActiveCell(gn,igtbl_getElementById(se.getAttribute("currentCell")));
			gs.insideSetActive=false;
		}
		gs.exitEditCancel=true;
		return;
	}
	gs.exitEditCancel=false;
	if(gs.ActiveCell!="")
		igtbl_setActiveCell(gn,igtbl_getElementById(gs.ActiveCell));
	else if(gs.ActiveRow!="")
		igtbl_setActiveRow(gn,igtbl_getElementById(gs.ActiveRow));
	if(evnt.rangeParent && igtbl_lastActiveGrid)
	{
		if(!igtbl_isChild(igtbl_lastActiveGrid,evnt.rangeParent))
			igtbl_lastActiveGrid="";
	}
	igtbl_fireEvent(gn,gs.Events.AfterExitEditMode,"(\""+gn+"\",\""+cell.id+"\");");
	igtbl_blur(gn);
	if(changed)
	{
		igtbl_fireEvent(gn,gs.Events.AfterCellUpdate,"(\""+gn+"\",\""+cell.id+"\");");
		if(gs.NeedPostBack)
			igtbl_doPostBack(gn);
	}
}

function igtbl_editBoxMLFocusOut(evnt,gn)
{
	if(typeof(event)!="undefined")
		evnt=event;
	var se=igtbl_srcElement(evnt);
	if(typeof(gn)=="undefined")
		gn=se.id.substr(0,se.id.length-3);
	var cell=igtbl_getElementById(se.getAttribute("currentCell"));
	if(!cell || se.getAttribute("noOnBlur"))
		return;
	var gs=igtbl_getGridById(gn);
	var oldText=cell.innerHTML.replace(/<BR>/g,"\r\n");
	if(!cell.getAttribute("oldValue"))
		cell.setAttribute("oldValue",oldText);
	var value=se.value;
	var column=gs.Bands[cell.parentNode.parentNode.parentNode.getAttribute("bandNo")].Columns[igtbl_getColumnNo(gn,cell)];
	var cellObj=igtbl_getCellById(cell.id);
	if(column.MaskDisplay!="")
	{
		value=igtbl_Mask(gn,value,column.DataType,column.MaskDisplay);
		if(value=="")
			value=oldText;
	}
	if(column.FieldLength>0)
		value=value.substr(0,column.FieldLength);
	if(column.Case==1)
		value=value.toLowerCase();
	else if(column.Case==2)
		value=value.toUpperCase();
	var changed=(oldText!=value);
	if(changed)
	{
		value=igtbl_fireEvent(gn,gs.Events.BeforeCellUpdate,"(\""+gn+"\",\""+cell.id+"\",\""+value+"\")");
		if(value==true)
			changed=false;
	}
	if(changed)
	{
		var iValue=se.value;
		if(value==false || value==undefined)
		{
			value=iValue;
			if(column.MaskDisplay!="")
			{
				value=igtbl_Mask(gn,value,column.DataType,column.MaskDisplay);
				if(value=="")
					value=oldText;
			}
			if(column.FieldLength>0)
				value=value.substr(0,column.FieldLength);
			if(column.Case==1)
				value=value.toLowerCase();
			else if(column.Case==2)
				value=value.toUpperCase();
		}
		if(value=="")
			value=" ";
		if(se.getAttribute("hasHref"))
		{
			cell.innerHTML="";
			var l=document.createElement("A");
			l.href=(value.indexOf('@')>=0?"mailto:":"")+value;
			l.innerHTML=value.replace(/\r\n/g,"<BR>");
			cell.appendChild(l);
		}
		else if(cell.childNodes.length>0 && cell.childNodes[0].tagName=="NOBR")
			cell.childNodes[0].innerHTML=value.replace(/\r\n/g,"<BR>");
		else
			cell.innerHTML=value.replace(/\r\n/g,"<BR>");
		if(value==" ")
			value="";
		if(column.MaskDisplay!="")
		{
			value=igtbl_clarifyInput(gn,value.toString(),column.DataType);
			cell.setAttribute("unmaskedValue",value);
		}
		else if(column.FieldLength!=0 || column.Case!=0)
		{
			value=se.value;
			cell.setAttribute("unmaskedValue",value);
		}
		igtbl_saveChangedCell(gs,cellObj,value);
	}
	else
	{
		if(se.getAttribute("hasHref"))
		{
			cell.innerHTML="";
			var l=document.createElement("A");
			l.href=(oldText.indexOf('@')>=0?"mailto:":"")+oldText;
			l.innerHTML=oldText.replace(/\r\n/g,"<BR>");
			cell.appendChild(l);
		}
		else
			cell.innerHTML=oldText.replace(/\r\n/g,"<BR>");
	}
	cell.removeAttribute("igCellText");
	if(igtbl_fireEvent(gn,gs.Events.BeforeExitEditMode,"(\""+gn+"\",\""+cell.id+"\")")==true)
	{
		if(!gs.exitEditCancel && !gs.insideSetActive)
		{
			gs.insideSetActive=true;
			igtbl_setActiveCell(gn,igtbl_getElementById(se.getAttribute("currentCell")));
			gs.insideSetActive=false;
		}
		gs.exitEditCancel=true;
		return;
	}
	gs.exitEditCancel=false;
	if(gs.ActiveCell!="")
		igtbl_setActiveCell(gn,igtbl_getElementById(gs.ActiveCell));
	else if(gs.ActiveRow!="")
		igtbl_setActiveRow(gn,igtbl_getElementById(gs.ActiveRow));
	if(evnt.rangeParent && igtbl_lastActiveGrid)
	{
		if(!igtbl_isChild(igtbl_lastActiveGrid,evnt.rangeParent))
			igtbl_lastActiveGrid="";
	}
	igtbl_fireEvent(gn,gs.Events.AfterExitEditMode,"(\""+gn+"\",\""+cell.id+"\");");
	igtbl_blur(gn);
	if(changed)
	{
		igtbl_fireEvent(gn,gs.Events.AfterCellUpdate,"(\""+gn+"\",\""+cell.id+"\");");
		if(gs.NeedPostBack)
			igtbl_doPostBack(gn);
	}
}

function igtbl_getOffsetX(evnt,e)
{
	return evnt.clientX-igtbl_getLeftPos(e);
}

function igtbl_getOffsetY(evnt,e)
{
	return evnt.clientY-igtbl_getTopPos(e);
}

function igtbl_onResize(gn)
{
}

function igtbl_isDisabled(elem)
{
	return elem.getAttribute("disabled") && elem.getAttribute("disabled").toString()=="true";
}

function igtbl_setDisabled(elem,b)
{
	elem.setAttribute("disabled",b);
}

function igtbl_activate(gn)
{
	if(igtbl_glFocusedElem)
		igtbl_glFocusedElem.blur();
}

⌨️ 快捷键说明

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