📄 ig_webcombo3_1.js
字号:
if(cell != null) {
var v = cell.getValue(true);
oCombo.selectedIndex = row.getIndex();
oCombo.updateValue(v, true);
}
}
function igcmbo_setSelectedRow(row) {
var cell = null;
if(this.DataValueField.length > 0)
{
cell = row.getCellFromKey(this.DataValueField);
this.setDataValue(cell, false);
if(this.Element.style.display!="none")
this.setFocusTop();
}
}
function igcmbo_gridmouseup(gridName, itemId) {
var grid = igtbl_getGridById(gridName);
var row = igtbl_getRowById(itemId);
if(row == null)
return;
var cell = igtbl_getCellById(itemId);
if(cell == null)
return;
var oCombo = igcmbo_currentDropped;
if(oCombo != null) {
oCombo.setSelectedRow(row);
oCombo.setDropDown(false);
}
}
function igcmbo_getSelectedIndex() {
return this.selectedIndex;
}
function igcmbo_setSelectedIndex(index)
{
if(index>=0 && index<this.grid.Rows.length)
this.setSelectedRow(this.grid.Rows.getRow(index));
}
function igcmbo_getVisible() {
if(this.Element.style.display == "none" || this.Element.style.visibility == "hidden")
return false;
else
return true;
}
function igcmbo_setVisible(bVisible,left,top,width,height){
if(bVisible){
this.Element.style.display = "";
this.Element.style.visibility = "visible";
igcmbo_displaying=this;
if(arguments.length>=3)
{
this.Element.style.top=top;
this.Element.style.left=left;
}
if(arguments.length>=5)
{
this.Element.style.height=height;
this.setWidth(width);
}
if(this.Element.focus && false)
{
try{
this.Element.focus();
}catch(e){}
}
}
else
{
if(this.Dropped)
this.setDropDown(false);
this.Element.style.display = "none";
this.Element.style.visibility = "hidden";
igcmbo_displaying=null;
}
}
function igcmbo_getDisplayValue()
{
return this.displayValue;
}
function igcmbo_getDataValue()
{
return this.dataValue;
}
function igcmbo_setDisplayValue(newValue, bFireEvent)
{
var cell=newValue;
if(cell==null || typeof(cell)!="object")
{
this.updateValue(newValue, bFireEvent);
var re = new RegExp("^"+igtbl_getRegExpSafe(newValue)+"$", "g");
var column = null;
if(this.DataTextField.length > 0) {
column = this.grid.Bands[0].getColumnFromKey(this.DataTextField)
}
else {
var colNo = 0;
column = this.grid.Bands[0].Columns[colNo];
}
if(column == null)
return;
cell = column.find(re);
}
else
this.updateValue(cell.getValue(), bFireEvent);
if(cell != null) {
if(this.DataValueField)
this.dataValue=cell.Row.getCellFromKey(this.DataValueField).getValue();
igtbl_clearSelectionAll(this.grid.Id);
this.grid.setActiveRow(cell.Row);
cell.Row.setSelected(true);
this.selectedIndex = cell.Row.getIndex();
igtbl_updatePostField(this.grid.Id);
this.updatePostField(newValue,false);
}
else
{
this.dataValue=null;
igtbl_clearSelectionAll(this.grid.Id);
this.grid.setActiveRow(null);
this.selectedIndex = -1;
igtbl_updatePostField(this.grid.Id);
this.updatePostField(newValue,false);
}
return this.selectedIndex;
}
function igcmbo_setDataValue(newValue, bFireEvent)
{
var cell=newValue;
if(cell==null || typeof(cell)!="object")
{
this.dataValue=newValue;
var re = new RegExp("^"+igtbl_getRegExpSafe(newValue)+"$", "g");
var column = null;
if(this.DataTextField.length > 0)
column = this.grid.Bands[0].getColumnFromKey(this.DataValueField)
else
column = this.grid.Bands[0].Columns[0];
if(column == null)
return;
cell = column.find(re);
}
else
this.dataValue=cell.getValue();
if(cell != null)
{
if(this.DataTextField)
this.updateValue(cell.Row.getCellFromKey(this.DataTextField).getValue(true),bFireEvent);
igtbl_clearSelectionAll(this.grid.Id);
this.grid.setActiveRow(cell.Row);
cell.Row.setSelected(true);
this.selectedIndex = cell.Row.getIndex();
igtbl_updatePostField(this.grid.Id);
if(!this.DataTextField)
this.updatePostField(newValue,false);
}
else
{
this.dataValue=null;
igtbl_clearSelectionAll(this.grid.Id);
if(this.Prompt) {
var row=this.grid.Rows.getRow(0);
row.activate();
row.setSelected();
}
else {
this.grid.setActiveRow(null);
this.selectedIndex = -1;
igtbl_updatePostField(this.grid.Id);
this.updatePostField(newValue,false);
}
}
return this.selectedIndex;
}
function igcmbo_getValue()
{
if(!this.Prompt || this.getSelectedIndex()>0)
return this.dataValue;
}
function igcmbo_setValue(newValue, bFireEvent)
{
var cell=newValue;
if(cell==null || typeof(cell)!="object" || newValue.getMonth)
{
var oRegEx = newValue?newValue.toString():newValue;
var re = new RegExp("^" + igtbl_getRegExpSafe(oRegEx), "g");
var column = null;
if(this.DataValueField.length > 0)
column = this.grid.Bands[0].getColumnFromKey(this.DataValueField)
else
column = this.grid.Bands[0].Columns[0];
if(column == null)
return;
cell = column.find(re);
}
var dispValue=this.Prompt;
if(cell != null)
{
this.dataValue=newValue;
if(this.DataValueField)
{
cellValue=cell.Row.getCellFromKey(this.DataValueField).getValue();
if(cellValue!=newValue)
this.dataValue=cellValue;
}
if(this.DataTextField)
{
dispValue=cell.Row.getCellFromKey(this.DataTextField).getValue(true);
this.updateValue(dispValue, (typeof(bFireEvent)=="undefined" || bFireEvent));
}
igtbl_clearSelectionAll(this.grid.Id);
this.grid.setActiveRow(cell.Row);
cell.Row.setSelected(true);
this.selectedIndex = cell.Row.getIndex();
}
else
{
this.dataValue=null;
this.displayValue=dispValue;
var ib=igcmbo_getElementById(this.ClientUniqueId+"_input");
if(ib)
ib.value=dispValue;
igtbl_clearSelectionAll(this.grid.Id);
this.grid.setActiveRow(null);
this.selectedIndex = -1;
}
igtbl_updatePostField(this.grid.Id);
this.updatePostField(dispValue,false);
if(this.Prompt && this.selectedIndex==-1)
{
this.setSelectedIndex(0);
return -1;
}
return this.selectedIndex;
}
var igtbl_pbInited=false;
function igcmbo_updateValue(newValue, bFireEvent)
{
if(bFireEvent == true) {
if(igcmbo_fireEvent(this.ClientUniqueId,this.Events.BeforeSelectChange,"(\""+this.ClientUniqueId+"\");")) {
return false;
}
}
var inputbox = igcmbo_getElementById(this.ClientUniqueId + "_input");
inputbox.value = newValue;
this.updatePostField(newValue);
this.displayValue = newValue;
if(bFireEvent == true) {
if(igcmbo_fireEvent(this.ClientUniqueId,this.Events.AfterSelectChange,"(\""+this.ClientUniqueId+"\");"))
return;
}
if(this.NeedPostBack && bFireEvent == true && !igtbl_pbInited) {
igtbl_pbInited=true;
__doPostBack(this.UniqueId,'AfterSelChange\x02'+this.selectedIndex);
}
}
var ig_inCombo=false;
// private - Handles the mouse down event
function igcmbo_mouseDown(evnt) {
if(igcmbo_currentDropped != null)
{
var grid = igcmbo_getElementById(igcmbo_currentDropped.ClientUniqueId + "_container");
var elem = igtbl_srcElement(evnt);
var parent = elem;
while(true) {
if(parent == null)
break;
if(parent == grid)
{
if(igcmbo_currentDropped.webGrid)
{
igtbl_lastActiveGrid=igcmbo_currentDropped.webGrid.Id;
igcmbo_currentDropped.Element.setAttribute("noOnBlur",true);
window.setTimeout("igtbl_cancelNoOnBlurDD()",100);
}
return;
}
parent = parent.parentNode;
}
if(ig_inCombo == true) {
ig_inCombo = false;
return;
}
if(igcmbo_currentDropped)
igcmbo_currentDropped.setDropDown(false);
ig_inCombo = false;
}
var combo=igcmbo_currentDropped;
if(!combo)
combo=igcmbo_displaying;
if(combo && combo.eventHandlers["blur"] && combo.eventHandlers["blur"].length>0)
{
var ig_event=new ig_EventObject();
ig_event.event=evnt;
for(var i=0;i<combo.eventHandlers["blur"].length;i++)
if(combo.eventHandlers["blur"][i].fListener)
{
combo.eventHandlers["blur"][i].fListener(combo,ig_event,combo.eventHandlers["blur"][i].oThis);
if(ig_event.cancel)
return igtbl_cancelEvent(evnt);
}
}
}
// private - Handles the mouse up event
function igcmbo_mouseUp(evnt) {
return;
}
// private - Obtains the proper source element in relation to an event
function igcmbo_srcElement(evnt)
{
var se
if(evnt.target)
se=evnt.target;
else if(evnt.srcElement)
se=evnt.srcElement;
return se;
}
// private - Updates the PostBackData field
function igcmbo_updatePostField(value)
{
var formControl = igcmbo_getElementById(this.UniqueId);
if(!formControl)
return;
var index = this.selectedIndex;
formControl.value = "Select\x02" + index + "\x02Value\x02" + value;
}
// private
function igcmbo_getClientUniqueId(uniqueId) {
var u = uniqueId.replace(/:/gi, "");
u = u.replace(/_/gi, "x");
return u;
}
// private
function igcmbo_getGrid() {
return this.grid;
}
function igcmbo_addEventListener(eventName,fListener,oThis)
{
eventName=eventName.toLowerCase();
if(!this.eventHandlers[eventName])
this.eventHandlers[eventName]=new Array();
var index=this.eventHandlers[eventName].length;
if(index>=15)
return false;
for(var i=0;i<this.eventHandlers[eventName].length;i++)
if(this.eventHandlers[eventName][i]["fListener"]==fListener)
return false;
this.eventHandlers[eventName][index]=new Object();
this.eventHandlers[eventName][index]["fListener"]=fListener;
this.eventHandlers[eventName][index]["oThis"]=oThis;
return true;
}
function igcmbo_removeEventListener(eventName,fListener)
{
if(!this.eventHandlers)
return false;
var eventName=eventName.toLowerCase();
if(!this.eventHandlers[eventName] || this.eventHandlers[eventName].length==0)
return false;
for(var i=0;i<this.eventHandlers[eventName].length;i++)
if(this.eventHandlers[eventName][i]["fListener"]==fListener)
{
delete this.eventHandlers[eventName][i]["fListener"];
delete this.eventHandlers[eventName][i]["oThis"];
delete this.eventHandlers[eventName][i];
if(this.eventHandlers[eventName].pop)
this.eventHandlers[eventName].pop();
else
this.eventHandlers[eventName]=this.eventHandlers[eventName].slice(0,-1);
return true;
}
return false;
}
function igcmbo_getComboByGridName(gridName)
{
var oC = null;
if (!igcmbo_comboState) return oC;
for (var c in igcmbo_comboState) if (igcmbo_comboState[c].grid.Id==gridName)oC=igcmbo_comboState[c];
return oC;
}
igcmbo_initialize();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -