주소록 수정중

This commit is contained in:
hylee 2024-09-09 18:28:57 +09:00
parent 9328e68d6f
commit 813ce808b9
11 changed files with 275 additions and 130 deletions

View File

@ -206,7 +206,7 @@ public class FaxAddrController {
if("".equals(addrVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
addrVO.setSearchSortCnd("addrId");
addrVO.setSearchSortOrd("desc");
addrVO.setSearchSortOrd("asc");
}
List<FaxAddrVO> addrList = faxAddrService.selectFaxAddrList(addrVO);
@ -263,7 +263,7 @@ public class FaxAddrController {
if("".equals(addrVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
addrVO.setSearchSortCnd("addrId");
addrVO.setSearchSortOrd("desc");
addrVO.setSearchSortOrd("asc");
}
List<FaxAddrVO> addrDupliList = faxAddrService.selectFaxAddrDupliListByAll(addrVO);
@ -856,7 +856,7 @@ public class FaxAddrController {
if("".equals(addrVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
addrVO.setSearchSortCnd("addrId");
addrVO.setSearchSortOrd("desc");
addrVO.setSearchSortOrd("asc");
}
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();

View File

@ -394,7 +394,7 @@ public class FaxAdmController {
if("".equals(addrVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
addrVO.setSearchSortCnd("addrId");
addrVO.setSearchSortOrd("desc");
addrVO.setSearchSortOrd("asc");
}

View File

@ -115,7 +115,7 @@ public class AddrController {
if("".equals(addrVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
addrVO.setSearchSortCnd("addrId");
addrVO.setSearchSortOrd("desc");
addrVO.setSearchSortOrd("asc");
}
// 기간검색 설정
@ -384,7 +384,7 @@ public class AddrController {
if("".equals(addrVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
addrVO.setSearchSortCnd("addrId");
addrVO.setSearchSortOrd("desc");
addrVO.setSearchSortOrd("asc");
}
List<AddrVO> addrList = addrService.selectAddrList(addrVO);
@ -449,7 +449,7 @@ public class AddrController {
if("".equals(addrVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
addrVO.setSearchSortCnd("addrId");
addrVO.setSearchSortOrd("desc");
addrVO.setSearchSortOrd("asc");
}
List<AddrVO> addrDupliList = addrService.selectAddrDupliListByAll(addrVO);
@ -1055,7 +1055,7 @@ public class AddrController {
if("".equals(addrVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
addrVO.setSearchSortCnd("addrId");
addrVO.setSearchSortOrd("desc");
addrVO.setSearchSortOrd("asc");
}
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();

View File

@ -360,6 +360,11 @@ public class AddrGroupController {
public ModelAndView getAddrGroupDuplCheckAjax(HttpServletRequest request, ModelMap model,
AddrGroupVO addrGroupVO
) throws Exception {
System.out.println(" :: /web/addr/getAddrGroupDuplCheckAjax.do :: ");
System.out.println(" :: /web/addr/getAddrGroupDuplCheckAjax.do :: ");
System.out.println(" :: /web/addr/getAddrGroupDuplCheckAjax.do :: ");
System.out.println(" :: addrGrpNm :: "+ addrGroupVO.getAddrGrpNm());
ModelAndView mv = new ModelAndView();
mv.setViewName("jsonView");

View File

@ -233,7 +233,7 @@ function setAddrMassClose() {
listAddrGrp();
addrGroupLoadAjax();
addrLoadAjax();
errorPopClean(); // 에러 팝업 초기화
fn_errorPopClean(); // 에러 팝업 초기화
}
// 주소록 탭마다 돌면서 총, 중복, 오류 건수 초기화
@ -262,13 +262,13 @@ function fn_rowDataClear(){
// 주소록 그룹 중복체크
function getAddrGroupDuplCheckAjax() {
function getAddrGroupDuplCheckAjax(addrGrpNm) {
var isReturn = true;
$.ajax({
url : "<c:url value='/web/addr/getAddrGroupDuplCheckAjax.do' />",
type : 'POST',
data : {"addrGrpNm" : $(tabluC+" #addrGrpNm").val()},
data : {"addrGrpNm" : addrGrpNm},
dataType:'json',
async: false, // 동기
success : function(data, status){
@ -286,6 +286,7 @@ function getAddrGroupDuplCheckAjax() {
//alert("주소록 중복체크에 실패했습니다.");
}
});
console.log('isReturn : ', isReturn);
return isReturn;
}
@ -293,18 +294,34 @@ function getAddrGroupDuplCheckAjax() {
//저장
function SetAddrMassSave(){
// gArrRestartIndex = 0; //배열 재시작카운드
// gNameList = []; //치환문자 이름
// gPhoneList = []; //받는사람
// gInfo1List = []; //치환문자1
// gInfo2List = []; //치환문자2
// gInfo3List = []; //치환문자3
// gInfo4List = []; //치환문자4
// gMemoList = []; //메모
var $objTabul = fn_utils_getTabulator();
var tabulNm = fn_utils_getTabulatorNm();
var tabluC = '.'+tabulNm
/* console.log('$objTabul : ', $objTabul.getData());
if(tabulNm == 'tableSelf'){
console.log('????');
var allRows = $objTabul.getData(); // 테이블의 모든 데이터를 가져옴
// addrPhoneNo 값이 있는 행만 필터링
var rowsWithPhoneNumbers = allRows.filter(function(row) {
return row.addrPhoneNo && row.addrPhoneNo.trim() !== ''; // 값이 존재하고 공백이 아닌 경우
});
$objTabul = rowsWithPhoneNumbers;
console.log('rowsWithPhoneNumbers : ', rowsWithPhoneNumbers);
console.log('$objTabul : ', $objTabul.getData());
return false;
} */
if($objTabul.getData().length < 1){
alert("한 개 이상의 연락처를 입력하세요");
@ -350,8 +367,10 @@ function SetAddrMassSave(){
if ($(tabluC+" #addrGrpIdInfo option:selected").val() == "NEW"
&& $(tabluC+" #addrGrpNm").val() != "")
{
var addrGrpNm = $(tabluC+" #addrGrpNm").val();
console.log('addrGrpNm : ', addrGrpNm);
//주소록 중복체크
if (getAddrGroupDuplCheckAjax() == false) {
if (getAddrGroupDuplCheckAjax(addrGrpNm) == false) {
alert("중복된 그룹명입니다. 새 그룹명을 입력해주세요.");
return false;
}
@ -433,6 +452,7 @@ function setSenderList_advc(){
var $objTabul = fn_utils_getTabulator();
var dataToSend = $objTabul.getData();
console.log('dataToSend : ', dataToSend);
var addrGrpIdInfo = $(tabluC+" #addrGrpIdInfo option:selected").val();
var addrGrpNmInfo = $(tabluC+" #addrGrpNm").val();
@ -524,11 +544,29 @@ function SetClear($objTabul) {
$(tabluC+" #addrGrpNm").val(""); // 새그룹명 Clear;
// 주소록 그룹정보 불러오기
getAddrGroupList();
if (tabulNm === 'tableSelf') {
var tableData = [];
for (var i = 0; i < 1000; i++) {
tableData.push({addrNm: "", addrPhoneNo: "", addrInfo1: "", addrInfo2: "", addrInfo3: "", addrInfo4: "", addrComment: ""});
}
console.log(tableData); // 데이터 출력 확인
fn_selfmakeTable()
}else{
$objTabul.clearData(); // clearData는 동기 방식이므로 바로 실행
}
// console.log('tabulNm : ', tabulNm);
// console.log('tabulNm : ', tabulNm.trim());
$objTabul.clearData();
$(tabluC+" #rowTotCnt").text(0); //총건수 수정
$(tabluC+" #rowDupCnt").text(0); //중복건수 수정
// dupliPhoneDataRealList.length = 0; // 중복 휴대폰번호 초기화
// popup 영역
fn_errorPopClean();
}
// 주소 대량등록 버튼 클릭

View File

@ -289,6 +289,11 @@ $(document).ready(function(){
//받는 사람 리스트 영역에 클립보드 데이터 가져와보기
// 붙여넣기 기능
$('#tabulator_clip').off('paste').on('paste', function (e) {
// fn_ClipMakeTable();
fn_errorPopClean();
fn_rowCntInit();
resetTableFieldsToDefault();
var element = e.originalEvent.clipboardData.getData('text');
var elmSplit = element.split("\n");
var realPhone = [];
@ -318,6 +323,9 @@ $(document).ready(function(){
console.log('Parsed data:', realPhone);
console.log('Tabulator data before getData:', $tableClip.getData());
// $tableClip.clearData();
$tableClip.setData([{
A: "", B: "", C: "", D: "", E: "", F: "", G: ""
}]); // 초기 데이터로 복원
$tableClip.setData(realPhone);
var totRows = $tableClip.getDataCount();
updateTotCnt(totRows);

View File

@ -314,7 +314,8 @@ $(document).on('drop', function (e){
//파일 드래그앤드롭 종료
function excelFileChange(file) {
errorPopClean(); // 에러 popup 초기화
console.log(' :: excelFileChange :: ');
fn_errorPopClean(); // 에러 popup 초기화
if (file) {
fn_loadAddActive();
var reader = new FileReader();

View File

@ -39,25 +39,50 @@ $(document).on("click", "#duplicationChkAll", function(e) {
});
function fn_selfUpdataCount(){
function fn_selfUpdataCount(value){
//////////////////////////////////////////////////////////////////////////
console.log('fn_selfUpdataCount(value) : ', value);
let errorCount = 0; // 중복 오류
const number = value;
const formattedNumber = formatPhoneNumber(number); // 번호 표준화
const cleanedNumber = formattedNumber.replace(/[^0-9]/g, ''); // 숫자만 남김
// '휴대폰' 필드의 셀들 가져오기
var cells = $tableSelf.getColumn("addrPhoneNo").getCells();
var existingNumbers = []; // 중복 번호를 저장할 배열
// 값이 있는 셀만 필터링하여 개수 카운트
var count = cells.filter(function(cell) {
var value = cell.getValue();
console.log('cell value: ', value);
return value !== "" && value !== undefined; // 빈 문자열과 undefined가 아닌 경우
}).length;
// 모든 행의 'addrPhoneNo' 값을 배열에 추가
var allRows = $tableSelf.getData(); // 테이블의 모든 데이터를 가져옴
allRows.forEach(function(row) {
if (row.addrPhoneNo) {
const cleanedExistingNumber = row.addrPhoneNo.replace(/[^0-9]/g, ''); // 숫자만 남김
existingNumbers.push(cleanedExistingNumber); // 기존 번호를 배열에 추가
}
});
console.log("휴대폰 번호가 있는 행 수: " + count);
// 중복제거한 데이터 구하기
var dataList = new Set(existingNumbers);
var tabulNm = fn_utils_getTabulatorNm();
var tabluC = '.'+tabulNm
$(tabluC+" #rowTotCnt").text(dataList.size);
$(tabluC+" #rowTotCnt").text(count);
return ;
// 중복체크
var hasDuplicates = existingNumbers.length !== dataList.size;
if (hasDuplicates) {
alert('중복된 값입니다 다시 입력해주세요.');
console.log('중복');
return '';
}
if (!isValidPhoneNumber(formattedNumber)) { // 유효성 검사
alert('휴대폰 형식에 맞지 않는 데이터입니다.\nex) 발송불가 특수문자, 자릿수 오류 등');
console.log('유효성 실패');
return '';
}
return formattedNumber;
}
@ -67,9 +92,10 @@ function fn_selfUpdataCount(){
<!-- 붙여넣기 -->
<div class="popCont pop_more_cont" id="popCont_3">
<div class="titBox">
<p>- 엑셀(EXCEL), 텍스트(TXT) 파일로 작성된 주소록 내용을 복사하여 등록 가능합니다.</p>
<p>- 많은 양의 데이터를 입력하시려면 ‘주소록 복사(Ctrl+C) + 붙여넣기(Ctrl+V)’를 이용해주세요.</p>
<p>- 입력 내용은 (Tab) 또는 (,) 기호로 구분하여 입력하여야 합니다.</p>
<!-- <p>- 엑셀(EXCEL), 텍스트(TXT) 파일로 작성된 주소록 내용을 복사하여 등록 가능합니다.</p> -->
<!-- <p>- 많은 양의 데이터를 입력하시려면 ‘주소록 복사(Ctrl+C) + 붙여넣기(Ctrl+V)’를 이용해주세요.</p> -->
<p>- 셀간 이동은 Tab으로 가능합니다.</p>
<p>- 핸드폰 번호를 입력하지 않은 행은 저장되지 않습니다.</p>
<p>- 이름 200byte, [*1*]~[*4*] 200byte, 메모 250byte까지 입력 가능합니다.</p>
<p>- 주소록 등록이 어려우신 경우에는 <a href="<c:url value='/web/mjon/addragency/selectAddrAgencyList.do'/>" style="font-weight: bold; color: blue;">주소록 입력대행</a> 메뉴를 이용하실 수 있습니다. </p>
<!-- <button type="button" class="txt_btn" onclick="location.href='/download/addr/주소록_대량등록.zip'"><i></i>TXT샘플 다운로드</button> -->

View File

@ -60,13 +60,15 @@ function getAddrGroupListShow(jsonList) {
}
//주소록 그룹 중복체크
function getAddrGroupDuplCheckAjax() {
function getAddrGroupDuplCheckAjax(addrGrpNm) {
console.log('addrGrpNm : ', addrGrpNm)
console.log('getAddrGroupDuplCheckAjax()')
var isReturn = true;
$.ajax({
url : "<c:url value='/web/addr/getAddrGroupDuplCheckAjax.do' />",
type : 'POST',
data : {"addrGrpNm" : $("#addrGrpNm").val()},
data : {"addrGrpNm" : addrGrpNm},
dataType:'json',
async: false, // 동기
success : function(data, status){

View File

@ -75,47 +75,39 @@ $(document).ready(function(){
const newData = []; // 유효한 데이터만 저장할 새로운 배열
data.forEach((row, index) => {
if (index % 10000 === 0) {
console.log('i : ', index);
}
// if (index % 10000 === 0) {
// console.log('i : ', index);
// }
const number = row.addrPhoneNo;
const formattedNumber = formatPhoneNumber(number); // 번호 표준화
const cleanedNumber = formattedNumber.replace(/[^0-9]/g, ''); // 숫자만 남김
if (!existingNumbers.has(cleanedNumber)) { // 중복 번호 체크
if (isValidPhoneNumber(formattedNumber)) { // 유효성 검사
row.addrPhoneNo = formattedNumber;
existingNumbers.add(cleanedNumber); // 추가된 번호를 기존 목록에 추가
newData.push(row); // 유효한 데이터만 새로운 배열에 추가
} else {
// 오류: 유효성 통과 못함
errorCount++;
// $tableError.addRow({
// name: row.addrNm, // 이름
// phone: row.addrPhoneNo, // 폰번호
// result: "오류" // 결과 메시지 추가
// });
errors.push({
name: row.addrNm, // 이름
phone: row.addrPhoneNo, // 폰번호
result: "오류" // 결과 메시지 추가
});
}
} else {
// 중복
duplicateCount++; // 중복 번호가 발견될 때마다 카운트를 증가
// $tableError.addRow({
// name: row.addrNm, // 이름
// phone: row.addrPhoneNo, // 폰번호
// result: "중복" // 결과 메시지 추가
// });
duplicates.push({
name: row.addrNm, // 이름
phone: row.addrPhoneNo, // 폰번호
result: "중복" // 결과 메시지 추가
});
}
const number = row.addrPhoneNo;
const formattedNumber = formatPhoneNumber(number); // 번호 표준화
const cleanedNumber = formattedNumber.replace(/[^0-9]/g, ''); // 숫자만 남김
if (!existingNumbers.has(cleanedNumber)) { // 중복 번호 체크
if (isValidPhoneNumber(formattedNumber)) { // 유효성 검사
row.addrPhoneNo = formattedNumber;
existingNumbers.add(cleanedNumber); // 추가된 번호를 기존 목록에 추가
newData.push(row); // 유효한 데이터만 새로운 배열에 추가
} else {
// 오류: 유효성 통과 못함
errorCount++;
errors.push({
name: row.addrNm, // 이름
phone: row.addrPhoneNo, // 폰번호
result: "오류" // 결과 메시지 추가
});
}
} else {
// 중복
duplicateCount++;
errors.push({
name: row.addrNm, // 이름
phone: row.addrPhoneNo, // 폰번호
result: "중복" // 결과 메시지 추가
});
}
});
// data 배열을 newData 배열로 대체
@ -132,7 +124,7 @@ $(document).ready(function(){
// 에러 카운트
$("#errorPopErrorCnt").text(errorCount);
//
$("#errorPopTotCnt").text(duplicateCount+errorCount);
// $("#errorPopTotCnt").text(duplicateCount+errorCount);
// 수정된 데이터로 테이블 업데이트
$objTabul.setData(data);
@ -141,6 +133,7 @@ $(document).ready(function(){
$("#rowDupCnt").text(duplicateCount);
$(tabluC+" #rowTotCnt").text($objTabul.getDataCount());
$("#errorPopTotCnt").text($objTabul.getDataCount());
var errorData = errors.concat(duplicates);
// 오류 및 중복 데이터를 한 번에 추가
@ -213,9 +206,11 @@ $(document).ready(function(){
var data = $objTabul.getRows();
$objTabul.clearData();
$(tabluC+" #rowTotCnt").text(0); //총건수 수정
$(tabluC+" #rowDupCnt").text(0); //중복건수 수정
dupliPhoneDataRealList.length = 0; // 중복 휴대폰번호 초기화
fn_rowCntInit();
// dupliPhoneDataRealList.length = 0; // 중복 휴대폰번호 초기화
// select box 초기화
$('.field-selector').each(function() { $(this).val(''); });
});
// 받는사람 선택삭제 버튼 처리해주기
@ -321,7 +316,10 @@ $(document).ready(function(){
// 주소록 에러결과 초기화
function errorPopClean(){
function fn_errorPopClean(){
var tabulNm = fn_utils_getTabulatorNm();
var tabluC = '.'+tabulNm
// popup 영역
$tableError.clearData();
@ -333,10 +331,61 @@ function errorPopClean(){
$("#errorPopErrorCnt").text(0);
//
$("#errorPopTotCnt").text(0);
// select box 초기화
$(tabluC+' .field-selector').each(function() { $(this).val(''); });
}
function fn_rowCntInit(){
var tabulNm = fn_utils_getTabulatorNm();
var tabluC = '.'+tabulNm
$(tabluC+" #rowTotCnt").text(0); //총건수 수정
$(tabluC+" #rowDupCnt").text(0); //중복건수 수정
$(tabluC+" #rowErrorCnt").text(0); //중복건수 수정
}
//1. 필드 초기화 함수
function resetTableFieldsToDefault() {
// 타불 객체 가져오기
var $objTabul = fn_utils_getTabulator();
// 필드를 A, B, C, D로 초기화
var defaultFields = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
// 테이블의 기존 데이터를 가져옵니다.
var currentData = $objTabul.getData();
// 초기 필드(A, B, C, D 등)를 위한 열 설정
var columns = [
{formatter: "rowSelection", titleFormatter: "rowSelection", clipboard: false, hozAlign: "center", headerHozAlign: "center", headerSort: false, cellClick: function(e, cell) {
cell.getRow().toggleSelect();
}},
{formatter:"rownum", align:"center", title:"No", hozAlign:"center", headerHozAlign:"center", width:40}
];
// 기본 필드로 열 구성
defaultFields.forEach(field => {
columns.push({
title: field,
field: field,
hozAlign: "center",
headerHozAlign: "center",
editor: false, // 편집 비활성화
width: 125,
validator: ["maxLength:100", "string"]
});
});
// 테이블을 기본 필드로 업데이트
$objTabul.setColumns(columns);
// $objTabul.setData(updatedData);
}

View File

@ -62,6 +62,7 @@ $(document).ready(function(){
// fn_ClipMakeTable();
$tableClip = new Tabulator("#tabulator_clip", {
@ -98,51 +99,7 @@ $(document).ready(function(){
});
var tableData = [];
for (var i = 0; i < 1000; i++) {
tableData.push({A: "", B: "", C: "", D: "", E: "", F: "", G: ""});
}
// 테이블 초기화
$tableSelf = new Tabulator("#tabulator_self", {
height: "255px",
width: "100%",
layout: "fitColumns",
clipboardPasteAction: "update",
keybindings: {
"navRight": "tab", // Tab 키를 누르면 오른쪽 셀로 이동
"navLeft": "shift+tab",
"editNext": false // Tab 키를 누를 때 편집 모드를 종료하지 않도록 설정
},
data: tableData,
columns: [
{formatter: "rowSelection", titleFormatter: "rowSelection", clipboard: false, hozAlign: "center", headerHozAlign: "center", headerSort: false, cellClick: function(e, cell) {
cell.getRow().toggleSelect();
}},
{formatter:"rownum", hozAlign:"center" ,title:"No", headerHozAlign:"center", width:40},
{title:"이름", field:"addrNm", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"},
{title:"휴대폰", field:"addrPhoneNo", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"
, formatter:function(cell, formatterParams){
var value = cell.getValue();
fn_selfUpdataCount();
// if(value.indexOf("o") > 0){
// return "<span style='color:#3FB449; font-weight:bold;'>" + value + "</span>";
// }else{
// return value;
// }
return value;
}},
{title:"[*1*]", field:"addrInfo1", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"},
{title:"[*2*]", field:"addrInfo2", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"},
{title:"[*3*]", field:"addrInfo3", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"},
{title:"[*4*]", field:"addrInfo4", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"},
{title:"메모", field:"addrComment", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"}
],
navigation: true // 키보드 탐색 활성화
});
// 사용자 정의 필터 설정: addrPhoneNo가 빈 값이나 undefined가 아닌 경우
// $tableSelf.setFilter(function(data, filterParams) {
// var value = data.addrPhoneNo;
@ -192,8 +149,67 @@ $(document).ready(function(){
]
});
// 직접입력 타블레이터
fn_selfmakeTable()
});
function fn_ClipMakeTable(){
}
function fn_selfmakeTable(){
});
var tableData = [];
for (var i = 0; i < 1000; i++) {
tableData.push({addrNm: "", addrPhoneNo: "", addrInfo1: "", addrInfo2: "", addrInfo3: "", addrInfo4: "", addrComment: ""});
}
// 테이블 초기화
$tableSelf = new Tabulator("#tabulator_self", {
height: "255px",
width: "100%",
layout: "fitColumns",
clipboardPasteAction: "update",
keybindings: {
"navRight": "tab", // Tab 키를 누르면 오른쪽 셀로 이동
"navLeft": "shift+tab",
"editNext": false // Tab 키를 누를 때 편집 모드를 종료하지 않도록 설정
},
data: tableData,
columns: [
{formatter: "rowSelection", titleFormatter: "rowSelection", clipboard: false, hozAlign: "center", headerHozAlign: "center", headerSort: false, cellClick: function(e, cell) {
cell.getRow().toggleSelect();
}},
{formatter:"rownum", hozAlign:"center" ,title:"No", headerHozAlign:"center", width:40},
{title:"이름", field:"addrNm", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"},
{title:"휴대폰", field:"addrPhoneNo", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"
, cellEdited:function(cell){
var currentValue = cell.getValue();
console.log('cell.getValue() : ', currentValue);
// 현재 값이 null 또는 undefined가 아니고, 값이 변경된 경우에만 처리
if (currentValue !== null
&& currentValue !== ''
) {
var newValue = fn_selfUpdataCount(currentValue);
// 값이 실제로 변경된 경우에만 setValue 호출
if (currentValue !== newValue) {
cell.setValue(newValue);
}
}
}
},
{title:"[*1*]", field:"addrInfo1", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"},
{title:"[*2*]", field:"addrInfo2", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"},
{title:"[*3*]", field:"addrInfo3", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"},
{title:"[*4*]", field:"addrInfo4", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"},
{title:"메모", field:"addrComment", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"}
],
navigation: true // 키보드 탐색 활성화
});
}