! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

combo 박스 에러 문의 > Q&A | 토론

본문 바로가기

SpreadJS

Q&A | 토론

기타 combo 박스 에러 문의

페이지 정보

작성자 질문 작성일 2021-05-11 14:22 조회 2,066회 댓글 2건
제품 버전 : SpreadJS v9

본문

안녕하세요.

콤보박스 관련하여 문의 드립니다.


아래 그림과 같이 [행추가] 버튼을 눌러 생성되는 행에 '성명'의 콤보박스를 선택하여 체크한 셀에 자동으로 값이 들어가도록 작성하고 싶습니다.


DB에서 데이터를 불러오는 부분 등은 정상적으로 작동되나, 다음과 같은 문제가 발생합니다.



[문제점]

1. 기존의 답변의 instanceof  부분 사용 불가 

 if (

            args.sheet.getCellType(args.row, args.col) instanceof

            spreadNS.ComboBoxCellType

          ) 

 

2. 드롭박스 선택 후 [행추가] 불가 

3. 드롭박스 선택 후 화면 무한 로딩(동작 멈춤)






 



[소스]

 $('.excelbtnaddrow').click(function() { //행 추가

spread.suspendPaint();

var sheet = spread.getActiveSheet();

sheet.addRows(ROW_EP + 1, 1);

ROW_EP++;

sheet.setFormula(ROW_EP, COL_EP + 4, '=SUM(' + viewCommon.columnAlphabet(COL_SP) + (ROW_EP + 1) + ':' + viewCommon.columnAlphabet(COL_EP) + (ROW_EP + 1) + ')');

sheet.setFormula(ROW_EP + 1, COL_EP + 4, '=SUM(' + viewCommon.columnAlphabet(COL_EP + 4) + (ROW_SP + 1) + ':' + viewCommon.columnAlphabet(COL_EP + 4) + (ROW_EP + 1) + ')');

var rangeArr = [{

"rS" : ROW_EP,

"cS" : COL_SP - 6,

"rC" : 1,

"cC" : (COL_EP - COL_SP + 7)

}];

$.each(rangeArr, function(i, v) {

sheet.getRange(v.rS, v.cS, v.rC, v.cC).locked(false);

})


var sheetIndex = spread.getActiveSheetIndex();


/*콤보 박스 테스트*/

var cellType2 = new spreadNS.CellTypes.ComboBox();

let items = [];

$.ajax({ 

type : "POST",

async : false,

url : URL + "selectworkertest.do",

contentType : "application/json; charset=utf-8",

dataType : "json",

data : JSON.stringify(),

success: function (data) {

            data.forEach((d) => {

              d.text = d.W_NAME;

            });

            cellType2.items(data);

            viewCommon.consoleLog("combotest", "Success");

        },

fail : function(data) {

viewCommon.consoleLog("combotest", "Fail");

},

error : function(data) {

viewCommon.consoleLog("combotest", "Error");

}

});

spread.bind(spreadNS.Events.CellClick, function(e, args) {

if(args.col == 8) {

spread.bind(spreadNS.Events.CellChanged, function (e, args) {

sheet.getCell(args.row, args.col - 1).backColor('red');

cellType2._items.forEach((item) => {

        if (item.E_NAME === args.newValue) {

       

                     sheet.setValue(args.row, 7, item.RATING);

                     sheet.setValue(args.row, 4, item.DEPARTMENT);

                 }

       

        });

     });

}

  });

/*콤보 테스트 끝*/


for (var i = COL_SP - 8; i < COL_EP + 12; i++) {

sheet.getCell(ROW_EP,8).cellType(cellType2); //// 콤보 테스트

var originCell = sheet.getCell(ROW_EP - 1, i);

var currentCell = sheet.getCell(ROW_EP, i);

currentCell.backColor("#faed7d"); 


currentCell.borderBottom(originCell.borderBottom());

currentCell.borderRight(originCell.borderRight());

currentCell.borderLeft(originCell.borderLeft());


var lockFlag = false;


switch (sheetIndex) {

case 0:

lockFlag = true;

SHEET_R.getCell(ROW_EP, i).locked(lockFlag);

break;

case 1:

if (SHEET_E.getTag(ROW_EP + 3, i) == "CONFIRM") {

lockFlag = true;

}

SHEET_E.getCell(ROW_EP, i).locked(lockFlag);

break;

}

}

for (var i = COL_SP; i <= COL_EP; i++) {

sheet.setFormula(ROW_EP + 1, i, '=SUM(' + viewCommon.columnAlphabet(i) + (ROW_SP + 1) + ':' + viewCommon.columnAlphabet(i) + (ROW_EP + 1) + ')');

}

viewCommon.align(sheet, ROW_SP, COL_SP - 6, ROW_EP - ROW_SP + 1, COL_EP - COL_SP + 7, 'CENTER');

spread.resumePaint();

})






기존에 문의했던 내용을 첨부해드립니다.

어느 부분이 틀렸는지 답변 부탁드립니다.


combo 박스 query 활용법 (버전이 문제라면 업그레이드 시 이용법 문의드립니다) > Q&A | 토론 | 그레이프시티 개발자 포럼 (grapecity.co.kr) 




감사합니다.




  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기

댓글목록

질문님의 댓글

질문 작성일

ComboBoxCellType 을 사용할 수 없던데.. 버전 문제일까요?

GCK루시님의 댓글의 댓글

GCK루시 작성일

안녕하세요 그레이프시티입니다.

이전에 답변 드린 ComboBoxCellType이 포함된 문의의 경우 v9 기준으로 답변을 드렸습니다. 다만 SpreadJS 9 버전의 경우, 지금 버전과 내부 구조가 많이 바뀌어 재현이 어려운 부분이 있습니다. 아래 답변 드린 거와 마찬가지로 저희 쪽으로 샘플을 전달해주신다면 본사 쪽으로 함께 확인 후 회신 드리도록 하겠습니다.

감사합니다.
그레이프시티 드림

1 답변

기타 Re: combo 박스 에러 문의

추천0 이 글을 추천하셨습니다 비추천0 채택채택

페이지 정보

작성자 GCK루시 작성일 2021-05-12 17:28 댓글 4건

본문

안녕하세요 그레이프시티입니다.


공유해주신 코드를 통해 확인해보았지만 안타깝게도 저희 쪽에서 해당 코드를 이용해서는 재현의 어려움이 있습니다. 혹시 괜찮으시다면 저희 쪽으로 이슈를 재현 및 디버깅할 수 있는 샘플을 공유해주실 수 있으실까요? 해당 샘플을 통해 재현 및 디버깅 후, 문제 해결에 도움을 드릴 수 있도록 하겠습니다.


다른 궁금한 점이 생기면, 언제든 문의 주시기 바랍니다.


감사합니다. 

그레이프시티 드림 


* 그레이프시티(GrapeCity)는 개발자를 위하여 ComponentOne(컴포넌트원), Spread(스프레드), ActiveReports(액티브리포츠), SpreadJS(스프레드JS), Wijmo(위즈모)와 같은 엑셀 스프레드시트 리포팅 그리드와 차트 등 다양한 종류의 .NET JavaScript(자바스크립트) 컴포넌트 툴을 생산하고있는 개발툴 전문 회사 입니다.

댓글목록

질문님의 댓글

질문 작성일

안녕하세요. 
메일 주소를 알려주시면 그쪽으로 해당 소스 보내드리겠습니다.
감사합니다.

GCK루시님의 댓글의 댓글

GCK루시 작성일

안녕하세요 그레이프시티입니다.

문의 주신 저희 쪽 support 메일 주소는 아래와 같습니다.
support-kor@grapecity.com
위 메일 주소로 재현 가능한 샘플을 보내주신다면 확인 후, 회신 드리도록 하겠습니다.

감사합니다.
그레이프시티 드림.

GCK루시님의 댓글의 댓글

GCK루시 작성일

안녕하세요 그레이프시티입니다.

저희 쪽 메일로 아직 SpreadJS  v9  문의 확인이 되지 않고 있습니다.
아직 준비 중이신건지 혹시 이미 전달해주셨는지 확인 부탁 드립니다.

감사합니다.
그레이프시티 드림

GCK루카스님의 댓글

GCK루카스 작성일

안녕하세요 그레이프시티입니다.

해당 문의는 더 이상 진행이 되지 않아 종료됩니다.
추가로 문의가 필요하신 경우 새로 문의를 작성해 주시기 바랍니다.

감사합니다.
그레이프시티 드림

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.