From ea171f199f0ffa5c194a1986cf3d8761fcdaef97 Mon Sep 17 00:00:00 2001 From: thkim Date: Tue, 8 Jul 2025 16:10:50 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EC=A7=80=EC=B8=B5=EB=A9=B4=EC=97=90?= =?UTF-8?q?=EC=84=9C=20USCS=EC=BD=94=EB=93=9C=EB=A1=9C=20TAB=ED=82=A4=20?= =?UTF-8?q?=EB=88=8C=EB=A0=80=EC=9D=84=EB=95=8C=20=EC=A0=84=ED=99=98(?= =?UTF-8?q?=EB=8B=A4=EC=9D=8C=EC=B9=B8=EC=9C=BC=EB=A1=9C=20=EC=9D=B4?= =?UTF-8?q?=EB=8F=99)=20=20=EB=90=98=EB=8F=84=EB=A1=9D=20=EA=B0=9C?= =?UTF-8?q?=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/web/input/layerInfo/layerInfo.jsp | 20 +++++++++++++------ src/main/webapp/kendo-ui/js/common.js | 9 +++++++++ 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/main/webapp/WEB-INF/views/web/input/layerInfo/layerInfo.jsp b/src/main/webapp/WEB-INF/views/web/input/layerInfo/layerInfo.jsp index 6571a0af..a85907ce 100644 --- a/src/main/webapp/WEB-INF/views/web/input/layerInfo/layerInfo.jsp +++ b/src/main/webapp/WEB-INF/views/web/input/layerInfo/layerInfo.jsp @@ -478,7 +478,7 @@ function fn_grid_refresh(){ { field: "layerEngName", title: "지층명", width:120, - attributes: { "class": "teacherName", style:"text-align: left" }, + attributes: { "class": "teacherName", style:"text-align: left"}, editor: comboEditor, //template: "#=layerEngName.label#", template: "#=getTeacherName((layerEngName == null) ? ' ' : layerEngName)#", @@ -504,7 +504,7 @@ function fn_grid_refresh(){ title: "현장기술", attributes: { style:"text-align: left" }, editor: textareaEditor, - template: "
#= (layerDesc == null) ? ' ' : layerDesc #
" + template: "
#= (layerDesc == null) ? ' ' : layerDesc #
" }, ], scrollable: true, @@ -561,7 +561,7 @@ function fn_grid_refresh(){ } function textareaEditor(container, options) { - kendoJQuery('').appendTo(container); + kendoJQuery('').appendTo(container); }; // 콤보박스 value = [object Object]일때 셀렉트(selectedValue) 값 넘기기 @@ -573,7 +573,7 @@ function fn_grid_refresh(){ // 그리드 콤보박스 에디트 function comboEditor(container, options) { var data = JSON.parse(JSON.stringify(arrLayerEng)); - kendoJQuery('') + var myComboEditor = kendoJQuery('') .appendTo(container) .kendoDropDownList({ dataValueField: "code", @@ -587,9 +587,13 @@ function fn_grid_refresh(){ selectedValue = this.value(); fn_selectedValue(selectedValue); }, - height: 300 + height: 500 }); + + var dropDownListWidget = myComboEditor.data("kendoDropDownList"); + dropDownListWidget.wrapper.attr("tabindex", 3); } + function getTeacherName(value) { var data = JSON.parse(JSON.stringify(arrLayerEng)); @@ -620,8 +624,9 @@ function fn_grid_refresh(){ // 그리드 콤보박스 에디트 function comboEditor2(container, options) { + //container.setAttribute('tabindex', 4); var data = JSON.parse(JSON.stringify(arrLayerScience)); - kendoJQuery('') + var myComboEditor2 = kendoJQuery('') .appendTo(container) .kendoDropDownList({ dataValueField: "code", @@ -638,6 +643,9 @@ function fn_grid_refresh(){ }); var dropdownlist = $(".testDropDownList").data("kendoDropDownList"); + + var dropDownListWidget = myComboEditor2.data("kendoDropDownList"); + dropDownListWidget.wrapper.attr("tabindex", 4); } function getTeacherName2(value) { diff --git a/src/main/webapp/kendo-ui/js/common.js b/src/main/webapp/kendo-ui/js/common.js index 4a3e8317..35a9d112 100644 --- a/src/main/webapp/kendo-ui/js/common.js +++ b/src/main/webapp/kendo-ui/js/common.js @@ -845,6 +845,13 @@ function fn_tabKendo(e, grid, fromToRow) { } var field = $(e.target)[0].name; var value = $(e.target).val(); + + if( !field ) { + field = $(e.target)[0].childNodes[1].name; + if( String(value).trim() === "" ) { + value = $(e.target)[0].childNodes[1].value; + } + } dataItem.set(field, value); if (row >= 0 && row < currentNumberOfItems && col >= 0 && col < nowColCount) { @@ -867,6 +874,7 @@ function fn_tabKendo(e, grid, fromToRow) { return; } + // 변경이 완료되면 셀을 닫고 그리드가 다시 바인딩될때까지 기다림 if(!grid.tbody.find("tr:eq(" + nextCellRow + ") td:eq(" + nextCellCol + ")").is('.noneditable')){ // setTimeout(function() { @@ -875,6 +883,7 @@ function fn_tabKendo(e, grid, fromToRow) { // }); grid.editCell(grid.tbody.find("tr:eq(" + nextCellRow + ") td:eq(" + nextCellCol + ")")); grid.tbody.find("tr:eq(" + nextCellRow + ") td:eq(" + nextCellCol + ")").select(); + } else { while(grid.tbody.find("tr:eq(" + nextCellRow + ") td:eq(" + nextCellCol + ")").is('.noneditable')){ !e.shiftKey ? nextCellCol++ : nextCellCol--;