NONE_EDIT = 0; POPUP_SEARCH = 1; NOPOPUP_SEARCH = 2; INPUT = 3; POPUP_INPUT = 4; XFormsSelect1.prototype = new XFormsSelect; function XFormsSelect1 (strParentId, strAlert, strHelp, strHint, strAccesskey, strBind, strCellspacing, strClass, strCols, strDirection, bDisabled, bDragmode, bDropmode, bEditmenu, strEditmode, strId, nItemcount, strItemheight, strItemwidth, nNavindex, strOverflow, strPastemode, strRef, strRows, strScroll, strSep, strShowEffect, bShowvalue, strStyle, strTag, strVcellspacing, strVisibility, nItemIndex, bIsItemSet, strNodeSet, strLabelRef, strValueRef, strAppearance, strUserDefineAttrib, strUserStaticValue) { if (!strId) { return; } if ("minimal" == strAppearance) { this.m_heComboboxInput = document.getElementById("HE_" + strId + ".input"); } XFormsSelect.call(this, strParentId, strAlert, strHelp, strHint, strAccesskey, strBind, strCellspacing, strClass, strCols, strDirection, bDisabled, bDragmode, bDropmode, strId, strItemheight, strItemwidth, nNavindex, strOverflow, strRef, strRows, strScroll, strSep, strShowEffect, strStyle, strTag, strVcellspacing, strVisibility, nItemIndex, bIsItemSet, strNodeSet, strLabelRef, strValueRef, strAppearance, strUserDefineAttrib, strUserStaticValue); this.m_bShowItemList = false; this.m_nComboButtomPoint = 0; /** * Attribute */ this.attribute["editmenu"] = String(bEditmenu); this.attribute["editmode"] = strEditmode; this.attribute["itemcount"] = String(nItemcount); this.attribute["pastemode"] = strPastemode; this.attribute["showvalue"] = String(bShowvalue); this.selectImage = __getAppName() + "/kr/comsquare/image/radio/radio.gif"; this.unSelectImage = __getAppName() + "/kr/comsquare/image/radio/unradio.gif"; this.disSelectImage = __getAppName() + "/kr/comsquare/image/radio/disradio.gif"; this.disUnSelectImage = __getAppName() + "/kr/comsquare/image/radio/disunradio.gif"; this.m_objInput; this.m_objButtion; this.m_bButtonClick = false; this.m_bSelect; //select1의 cell이 선택되어 있는지를 판한하는 멤버변수 this.m_bIsSelectedCell = false; //그리드 콤보일때 this.m_bGridCombo = false; //itemset의 height this.m_bItemCount = "data"; this.m_nItemSetHeight; }; XFormsSelect1.prototype.init = function () { XFormsGroup.prototype.init.call(this); var strAttribute = ""; var strAppearance = this.getAttribute("appearance"); if ("full" == strAppearance) // radio { strAttribute = "id:" + this.id +".item; padding-left:16px; background-image:"+ this.unSelectImage + "; background-position:center left 2px 0px; select.background-image:" + this.selectImage + "; disable.background-image:" + this.disUnSelectImage + "; disable.select.background-image:" + this.disSelectImage + "; border-style:none; word-wrap:none; text-rect:visible;"; } else if ("minimal" == strAppearance) // combo { strAttribute = "id:" + this.id +".item; padding-left:2px; select.background-color:#000064; select.color:white; border-style:none; word-wrap:none;"; this.m_objInput = new XFormsInput(this.id, "", "", "", "", false, "", "", this.disabled, false, false, this.isEditable(), false, "", this.id + ".input", "", "", "", "", "", -1, -1, -1, "", "", "", false, "", -1, "", "", false, false, "", "xforms:comboinput", false, "visible"); this.m_objInput.m_bDependentCtl = true; this.m_objButton = new XFormsButton(this.id, "", "", "", "", "", false, "", "", this.disabled, false, "", "", "", this.id + ".button", -1, "", "", -1, false, "", "xforms:combobutton", "visible"); this.m_objButton.m_bDependentCtl = true; } else // list [not multiselection] { strAttribute = "id:" + this.id +".item; padding-left:2px; select.background-color:darkblue; select.color:white; border-style:none; word-wrap:none; focus-rect:visible;"; } this.m_objItem = this.createChild("xforms:selectitem", strAttribute); this.choices = new XFormsChoices(this.id, this.id + ".choices", "xforms:choices"); if (this.isnodeset) { var objItemset = new XFormsItemset(this.id + ".choices", this.id + ".itemset", "xforms:itemset"); objItemset.setAttribute("nodeset", this.nodeset); var objLabel = new XFormsLabel(this.id + ".itemset", this.id + ".label", "xforms:label"); objLabel.setAttribute("ref", this.labelref); var objValue = new XFormsValue(this.id + ".itemset", this.id + ".value", "xforms:value"); objValue.setAttribute("ref", this.valueref); objItemset.setLabel(objLabel); objItemset.setValue(objValue); this.choices.setItemset(objItemset); this.initItemset(); } else { if ("minimal" == strAppearance) { var heItemList = document.getElementById("HE_" + this.id + "_allitem"); if (null != heItemList) { document.body.appendChild(heItemList); if (null == this.m_nItemSetHeight) { this.m_nItemSetHeight = heItemList.clientHeight; } if(!is_smartphone) { heItemList.setAttribute("U_D_C_S","combo"); } heItemList.style.height = "0px"; if (is_smartphone) { heItemList.style.overflow = "hidden"; } } } if(null != this.m_strUserStaticValue && "" != this.m_strUserStaticValue) { this.htStaticValue = new Hashtable(); var arCellList = this.m_strUserStaticValue.split("|"); for (var i=0; i viewportwidth) { this.m_heItemList.style.left = (this.getClientLeft(true) + (this.m_heControl.offsetWidth - this.m_heItemList.offsetWidth))+"px"; }else { this.m_heItemList.style.left = this.getClientLeft(true)+"px"; } //콤보리스트가 상단으로 열리도록 처리 (현재는 document 사이즈를 미리 늘려 놓음) //if ( this.getClientTop(true) + this.m_heItemList.offsetHeight > viewportheight) //{ // this.m_heItemList.style.top = (this.getClientTop(true) - (this.m_heControl.offsetHeight + this.m_heItemList.offsetHeight))+"px"; //} //else //{ this.m_heItemList.style.top = (this.getClientTop(true)+this.m_heControl.offsetHeight)+"px"; //} //window resize 허용 window.setPermitResize(true); } else { this.m_heItemList.style.visibility = "hidden"; if (is_smartphone) { this.m_heItemList.style.height = "0px"; this.m_heItemList.style.overflow = "hidden"; } else { this.m_heItemList.style.height = "0px"; if (!this.m_bItemCount) { this.m_heItemList.style.overflow = "hidden"; } } } } }; XFormsSelect1.prototype.setValueToInput = function (strValue, strLabel) { // if ("true" == this.attribute["showvalue"]) // { // this.m_heComboboxInput.value = " [" + strValue + "] " + strLabel; // } // else // { // this.m_heComboboxInput.value = strLabel; // } }; XFormsSelect1.prototype.setMousePointOverColor = function (heSelectItem) { // for (var i=0 ; i < this.length ; i++) // { // if (heSelectItem.id == this.m_arItem[i].id) // { // this.m_arItem[i].setAttribute("color", this.pointcolor); // this.m_arItem[i].setAttribute("background-color", this.pointbgcolor); // } // else // { // this.m_arItem[i].initStyle("color"); // this.m_arItem[i].initStyle("background-color"); // } // } }; XFormsSelect1.prototype.isEditable = function () { return (this.getEditMode() != NONE_EDIT); }; XFormsSelect1.prototype.applySelection = function (strValue) { this.clearSelect(); this.label = null; this.value = strValue; if (null != strValue) { strValue = strValue.trim(); var objCell = this.getCell(this.m_nSelectedRow, this.m_nSelectedCol); if (null != objCell && null != objCell.m_heControl && strValue == objCell.getValue()) { objCell.setSelect(true); this.label = objCell.getLabel(); this.m_bIsSelectedCell = true; return; } else { for (var i=0; i nItemWidth) { nItemWidth = isNaN(nComboWidth) ? 100 : nComboWidth; } // Row 가 의미 있을 때 if ("*" == strCols && (1 < nRows)) { nCols = Math.ceil(this.arItemList.length/*xlItemSet.length*/ / nRows); } // Row 가 의미 없을 때 else { nRows = Math.ceil(this.arItemList.length/*xlItemSet.length*/ / nCols); } var strDirection = this.attribute["direction"]; //showvalue 일때 direction, cols, rows 무시한다 if ("true" == this.attribute["showvalue"]) { nCols = 1; nRows = this.itemLength; strDirection = ""; } // cellSpacing // Attribute로 cellSpacing이 있을 경우 padding-right로 cellSpacing값을 넣어준다 nPaddingRight = ("" == strCellSpacing || null == strCellSpacing) ? 18 : nCellSpacing; // vCellSpacing // Attribute로 vCellSpacing이 있을 경우 height로 vCellSpacing 값을 넣어준다. if ("" == strItemHeight || null == strItemHeight) { nItemHeight = ("" == strVcellSpacing || null == strVcellSpacing) ? 18 : nVcellSpacing; } if (parseInt(this.attribute["itemcount"]) < nRows && !is_smartphone) { //heComboListDiv.style.height = (nItemHeight * parseInt(this.attribute["itemcount"])) + "px"; this.m_bItemCount = true; this.m_nItemSetHeight = (nItemHeight * parseInt(this.attribute["itemcount"])); } else { this.m_bItemCount = false; } if (is_smartphone) { heComboListDiv.style.height = "0px"; } var heTableWidth= (nItemWidth * nCols) + "px"; this.m_arComboList.push(""); //heTable.style.width = (nItemWidth * nCols) + "px"; var nItemIndex = 0; for (var i=0; i"); //var heTableTr = document.createElement("tr"); for (var j=0; j"); // } // else // { // // heTableTd = document.createElement("td"); // heTableTd.setAttribute("onmousedown", "onmousedown=\" "); // heTableTd.setAttribute("onmousemove", "onmousemove=\" "); // heTableTd.setAttribute("onmouseup", "onmouseup=\" "); // heTableTd.setAttribute("ondblclick", "ondblclick=\" "); // heTableTd.setAttribute("onkeydown", "onkeydown=\" "); // heTableTd.setAttribute("onkeypress", "onkeypress=\" "); // heTableTd.setAttribute("onkeyup", "onkeyup=\" "); // } this.m_arComboList.push(""; } // 적용 heTableTd.setAttribute("id", "HE_" + strTDId); // 적용 jhheTableTd.noWrap = true; // 적용 heTableTd.setAttribute("value", strValue); // 적용 heTableTd.setAttribute("label", strLabel); // 적용 heTableTd.style.backgroundRepeat = "no-repeat"; // 적용 heTableTd.style.paddingRight = nPaddingRight; //heTableTd.style.width = nItemWidth + "px"; // 적용 heTableTd.style.height = nItemHeight + "px"; // 적용 heTableTd.style.paddingRight = nPaddingRight + "px"; //if (null != heTableTd.innerText) //{ //this.comboList.push("innerText="+strLabel+";"); //heTableTd.innerText = strLabel; //} //else //{ //this.comboList.push("textContent="+strLabel+";"); //heTableTd.textContent = strLabel; //} //heTableTr.appendChild(heTableTd); nItemIndex++; } this.m_arComboList.push(">"+strLabel+""); } //heComboListDiv.appendChild(heTable); this.m_arComboList.push("
"); this.m_arComboList.join().replaceAll("," , ""); heComboListDiv.innerHTML =this.m_arComboList.join(''); document.body.appendChild(heComboListDiv); } else { XFormsSelect.prototype.initItemset.call(this); } }; XFormsSelect1.prototype.onSelect = function (event) { var xlRefNode = this.getRefNode(); if (null == xlRefNode) { return; } var strOldValue = XmlLib.getTextValue(xlRefNode); if (-1 == this.m_nSelectedRow && -1 == this.m_nSelectedCol) { if ("minimal" == this.getAttribute("appearance")) { if (POPUP_INPUT == this.getEditMode() || INPUT == this.getEditMode()) { this.setValue(this.m_objInput.getWindowText()); this.dipatch("xforms-select"); if (strOldValue != this.getValue()) { this.dipatch("xforms-value-changed"); } return; } else if (POPUP_SEARCH == this.getEditMode() || NOPOPUP_SEARCH == this.getEditMode()) { this.setValue(strOldValue); this.refreshCurrentModel(this.attribute["ref"]); return; } } } var objCell = this.getCell(this.m_nSelectedRow, this.m_nSelectedCol); if (!objCell) { return; } if ("minimal" == this.getAttribute("appearance")) { if (POPUP_INPUT == this.getEditMode() || INPUT == this.getEditMode()) { if (this.m_bButtonClick) { this.setValue(objCell.getValue()); } else { var strString = this.m_objInput.getWindowText(); var strValue = objCell.getText(); var nRow = -1; var nCol = -1; if (strValue != strString) { if (!this.findString(strValue, nRow, nCol)) { if (strValue.isEmpty()) { this.setValue(objCell.getValue()); } else { this.setValue(strValue); } } else { if (this.m_nSelectedRow == nRow && this.m_nSelectedCol == nCol && strValue == strString) { this.setValue(objCell.getValue()); } else if (this.m_nSelectedRow == nRow && this.m_nSelectedCol == nCol && strValue != strString && strString.isEmpty()) { this.setValue(objCell.getValue()); } else if (this.m_nSelectedRow == nRow && this.m_nSelectedCol == nCol) { if (-1 != strValue.indexOf(strString)) { this.setValue(strString); } else { this.setValue(objCell.getValue()); } } else { this.setValue(strString); } } } else { if (!this.findString(strString, nRow, nCol)) { if (strString.isEmpty()) { this.setValue(objCell.getValue()); } else { this.setValue(strString); } } else { if (strValue == strString) { this.setValue(objCell.getValue()); } else { this.setValue(strString); } } } } } else if (NOPOPUP_SEARCH == this.getEditMode() || POPUP_SEARCH == this.getEditMode()) { this.setValue(objCell.getValue()); } else if (INPUT == this.getEditMode()) { if (this.m_bButtonClick) { this.setValue(objCell.getValue()); } else { this.setValue(this.objInput.getWindowText()); } } else { this.setValue(objCell.getValue()); } } else { this.setValue(objCell.getValue()); } this.refreshCurrentModel(this.attribute["ref"]); this.dispatch("xforms-select"); if (strOldValue != this.getValue()) { this.dispatch("xforms-value-changed"); } }; XFormsSelect1.prototype.onFocus = function (event) { XFormsSelect.prototype.onFocus.call(this, event); }; XFormsSelect1.prototype.onBlur = function (event) { if ("minimal" == this.getAttribute("appearance") && (event.relatedTarget.isEmpty() || !this.isDescendants(event.relatedTarget, true))) { this.showItemList(false); } if (this.m_objInput && event.target == this.m_objInput.getId()) { if (NONE_EDIT != this.getEditMode()) { //TODO this.processEditMode(); } } this.m_bSelect = false; XFormsSelect.prototype.onBlur.call(this, event); // if("minimal" == this.attribute["appearance"]) // { // this.showItemList(false); // if ("search" == this.attribute["editmode"]) // { // this.refresh(); // return; // } // if ("input" == this.attribute["editmode"] || "inputsearch" == this.attribute["editmode"]) // { // for (var i=0; i < this.itemLength; i++) // { // if ((this.m_heComboboxInput.value == (" [" + this.m_arItem[i].value + "] " + this.m_arItem[i].label)) || // (this.m_arItem[i].label == this.m_heComboboxInput.value)|| // (this.m_arItem[i].value == this.m_heComboboxInput.value)) // { // this.m_bIsComboSelect = true; // this.select(i, event); // return; // } // } // var xlRefNode = this.getRefNode(); // if (null != xlRefNode) // { // var xnRefNode = xlRefNode.item(0); // if (null != xnRefNode) // { // var strOldValue = XmlLib.getTextValue(xnRefNode); // XmlLib.setTextValue(xnRefNode, this.m_heComboboxInput.value); // this.m_bIsComboSelect = false; // this.label = this.m_heComboboxInput.value; // this.value = this.m_heComboboxInput.value; // // this.refreshCurrentModel(true, event); // if (strOldValue != this.m_heComboboxInput.value) // { // this.dispatch("xforms-value-changed"); // } // } // } // } // } }; XFormsSelect1.prototype.isCell = function (strId) { if ("minimal" == this.getAttribute("appearance")) { if (strId == this.id + ".input" || strId == this.id + ".button") { return false; } } return XFormsSelect.prototype.isCell.call(this, strId); }; XFormsSelect1.prototype.onMouseDown = function (event) { XFormsGroup.prototype.onMouseDown.call(this, event); this.m_bButtonClick = false; if (TFEvent.BUTTON_LEFT != event.button) { return; } var bCanShow = (null == this.m_objInput) || !this.isEditable() || (event.target != this.m_objInput.getId()); if (this.m_heItemList && !this.isCell(event.target)) { if ("minimal" == this.getAttribute("appearance") && this.m_bShowItemList) { this.showItemList(false); } else { if (bCanShow) { if (INPUT == this.getEditMode() || POPUP_INPUT == this.getEditMode()) { var strValue = this.m_objInput.getWindowText(); if (null != strValue && !strValue.isEmpty()) { var nRow = -1; var nCol = -1; if (false)//TODO FIND Value { this.clearSelect(); var objCell = this.getCell(nRow, nCol); if (objCell) { objCell.setSelect(true); } } } } this.showItemList(true); } } } if (!this.isCell(event.target)) { return; } if ("minimal" == this.getAttribute("appearance") && this.m_heItemList) { this.m_bButtonClick = true; this.showItemList(false); } this.m_bDragStart = false; var objCell = this.getCell(this.m_nSelectedRow, this.m_nSelectedCol); if (null != objCell) { this.dispatch("onselect"); } this.m_bLButtonDown = true; this.m_bButtonClick = false; }; XFormsSelect1.prototype.onMouseOver = function (event) { XFormsSelect.prototype.onMouseOver.call(this, event); if ("minimal" == this.attribute["appearance"] && this.isCell(event.target)) { var nRow = this.getAttribute("row"); var nCol = this.getAttribute("col"); this.clearSelect(); var objCell = this.getCell(nRow, nCol); if (objCell) { this.m_nSelectedRow = nRow; this.m_nSelectedCol = nCol; objCell.setSelect(true); } } }; XFormsSelect1.prototype.onMouseMove = function (event) { XFormsSelect.prototype.onMouseMove.call(this, event); }; XFormsSelect1.prototype.onKeyDown = function (event) { if ("minimal" == this.attribute["appearance"]) { XFormsGroup.prototype.onKeyDown.call(this, event); if (TFEvent.UP != event.keyCode && TFEvent.DOWN != event.keyCode && TFEvent.ENTER != event.keyCode && TFEvent.ESC != event.keyCode) { if (this.m_objInput && this.m_objInput.getId() == event.target) { return; } } } else { XFormsSelect.prototype.onKeyDown.call(this, event); return; } var bRefresh = false; switch (event.keyCode) { case TFEvent.UP : { if (this.m_nSelectedRow > 0) { this.m_nSelectedRow--; bRefresh = true; } break; } case TFEvent.DOWN : { if (this.m_nSelectedRow < this.m_nRows - 1) { if (this.m_bIsSelectedCell) { this.m_nSelectedRow++; } bRefresh = true; } break; } case TFEvent.LEFT : { if (this.m_nSelectedCol > 0) { this.m_nSelectedCol--; bRefresh = true; } break; } case TFEvent.RIGHT : { if (this.m_nSelectedCol < this.m_nCols - 1) { this.m_nSelectedCol++; bRefresh = true; } break; } case TFEvent.SPACE : case TFEvent.ENTER : { this.showItemList(false); this.dispatch("onselect"); return; } case TFEvent.ESC : { this.showItemList(false); return; } default : { return; } } if (bRefresh) { if (this.m_nSelectedCol == -1) { this.m_nSelectedCol = 0; } if (this.m_nSelectedRow == -1) { this.m_nSelectedRow = 0; } var objItem = this.getCell(this.m_nSelectedRow, this.m_nSelectedCol); if (null != objItem) { this.setMousePointOverColor(objItem); if (this.m_bShowItemList) { this.clearSelect(); objItem.setSelect(true); } else { this.dispatch("onselect"); } } } }; XFormsSelect1.create = function (strParentId, clAttribute, strStyle) { // 메인노드 생성 var xnSelect1 = XFormsSelect1.createMainNode(clAttribute); var xnParent = document.getElementById("HE_"+strParentId); xnParent.appendChild(xnSelect1); // 하위노드 생성 xnSelect1 = XFormsSelect1.createSubNodes(xnSelect1, clAttribute); // object 생성 return XFormsSelect1.createObject(strParentId, xnSelect1, clAttribute, strStyle); }; XFormsSelect1.createMainNode = function (clAttribute) { var xnSelect1 = document.createElement("div"); xnSelect1 = XFormsSelect1.createAttribute(xnSelect1, clAttribute); // Select1가 가져야 하는 디폴트 스타일 설정 if (xnSelect1.getAttribute("appearance") == "full") // 라디오버튼 { } if (xnSelect1.getAttribute("appearance") == "minimal") // 콤보박스 { if ("" == HtmlLib.getStyle(xnSelect1, "border-style")) { HtmlLib.setStyle(xnSelect1, "border-style", "inset"); HtmlLib.setStyle(xnSelect1, "border-width", "2px"); } var strId = xnSelect1.id; var xnComboTable = document.createElement("table"); xnComboTable.cellPadding = 0; xnComboTable.cellSpacing = 0; HtmlLib.setStyle(xnComboTable, "table-layout", "fixed"); HtmlLib.setStyle(xnComboTable, "width", "100%"); HtmlLib.setStyle(xnComboTable, "height", "100%"); var xnComboTBody = document.createElement("tbody"); var xnComboTr = document.createElement("tr"); HtmlLib.setStyle(xnComboTr, "width", "100%"); HtmlLib.setStyle(xnComboTr, "height", "100%"); var xnComboInputTd = document.createElement("td"); xnComboInputTd.valign = "middle"; var xnComboBoxInput = document.createElement("input"); // combo안의 input태그의 default style HtmlLib.setStyle(xnComboBoxInput, "background-color", "transparent"); HtmlLib.setStyle(xnComboBoxInput, "border-width", "0px"); HtmlLib.setStyle(xnComboBoxInput, "border-style", "none"); HtmlLib.setStyle(xnComboBoxInput, "padding-top", "0px"); HtmlLib.setStyle(xnComboBoxInput, "padding-left", "0px"); HtmlLib.setStyle(xnComboBoxInput, "padding-rignht", "0px"); HtmlLib.setStyle(xnComboBoxInput, "padding-bottom", "0px"); HtmlLib.setStyle(xnComboBoxInput, "width", "100%"); if (!xnSelect1.editmode) xnComboBoxInput.readOnly = true; xnComboBoxInput.type = "text"; xnComboBoxInput.id = strId + ".input"; var xnComboButtonTd = document.createElement("td"); xnComboButtonTd.id = strId + "_img"; xnComboButtonTd.valign = "middle"; xnComboButtonTd.align = "center"; HtmlLib.setStyle(xnComboButtonTd, "width","18px"); HtmlLib.setStyle(xnComboButtonTd, "height","100%"); var xnComboButton = document.createElement("button"); xnComboButton.id = strId + ".button"; HtmlLib.setStyle(xnComboButton, "position", "relative"); HtmlLib.setStyle(xnComboButton, "width","18px"); HtmlLib.setStyle(xnComboButton, "height","100%"); HtmlLib.setStyle(xnComboButton, "background-image", "url(" + __getAppName() + "/kr/comsquare/image/combo/combo.gif)"); HtmlLib.setStyle(xnComboButton, "background-color", "#D4D0C8"); HtmlLib.setStyle(xnComboButton, "background-position", "center"); HtmlLib.setStyle(xnComboButton, "background-repeat", "no-repeat"); HtmlLib.setStyle(xnComboButton, "padding-top", "0px"); HtmlLib.setStyle(xnComboButton, "padding-bottom", "0px"); HtmlLib.setStyle(xnComboButton, "padding-left", "0px"); HtmlLib.setStyle(xnComboButton, "padding-right", "0px"); HtmlLib.setStyle(xnComboButton, "border-top-width", "1px"); HtmlLib.setStyle(xnComboButton, "border-bottom-width", "1px"); xnComboButtonTd.appendChild(xnComboButton); xnComboInputTd.appendChild(xnComboBoxInput); xnComboTr.appendChild(xnComboInputTd); xnComboTr.appendChild(xnComboButtonTd); xnComboTBody.appendChild(xnComboTr); xnComboTable.appendChild(xnComboTBody); xnSelect1.appendChild(xnComboTable); } return xnSelect1; }; XFormsSelect1.createSubNodes = function (xnSelect1, clAttribute) { return xnSelect1; }; XFormsSelect1.createObject = function (strParentId, xnSelect1, clAttribute, strStyle) { var strAlert = ""; var strHelp = ""; var strHint = ""; var strAccesskey = ""; var strBind = ""; var strCellSpacing = ""; var strClass = ""; var strCols = "1"; var strDirection = "acrossdown"; var bDisabled = false; var bDragMode = false; var bDropMode = false; var strId = ""; var strItemHeight = ""; var strItemWidth = ""; var nNavindex = 9007199254740992; var strOverFlow = "hidden"; var strRef = ""; var strRows = "*"; var strScroll = ""; var strSep = " "; var strVcellSpacing = ""; var strVisibility = "visible"; var strObjType = xnSelect1.getAttribute("appearance"); // combobox attribute var bEditMenu = false; var strEditMode = ""; var nItemCount = 0; if (xnSelect1.getAttribute("appearance") == "full") // 라디오버튼 { nItemCount = 0; } else if (xnSelect1.getAttribute("appearance") == "minimal") // 콤보박스 { nItemCount = clAttribute.exists("itemcount") ? parseInt(clAttribute.item("itemcount")) : 30; } else if (xnSelect1.getAttribute("appearance") == "compact") // 기타 (정의가 안되었을때 리스트박스) { nItemCount = 0; } var strPasteMode = "default"; var strShowType = ""; var bShowValue = false; var strUserDefineAttrib = ""; for (var i=0; i