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

commandManager 사용법 > Q&A | 토론

본문 바로가기

VueJS commandManager 사용법

페이지 정보

작성자 파다 작성일 2022-04-06 17:36 조회 1,072회 댓글 0건
제품 버전 : 14.2.3

본문

안녕하세요.

지금 isProtected, locked를 이용하는 방법 말고 다른 방법으로 셀 disabled를 구현하려고합니다.

그러다가 commandManager를 찾아서 아래처럶 코드를 짰습니다.


            let self = this;
            let command = {
                canUndo: true,
                execute: function (context, options, isUndo) {
                    console.log(context, options, isUndo, self.visibleColumns[options.col])

                    if (self.visibleColumns[options.col].options) {
                        return true;
                    } else {
                        return false;
                    }
                }
            };
            let commandManager = spread.commandManager();

            commandManager.register("editCell", command, 46,false,false,false,false);


그런데 이렇게 하면 return false, return true에 상관없이 모든 셀이 edit가 안되더라구요.

혹시 if문에 들어가는 경우만 edit가 안되게해주는 방법이 있을까요?

감사합니다.

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

댓글목록

등록된 댓글이 없습니다.

2 답변

VueJS Re: commandManager 사용법

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

페이지 정보

작성자 GCK루시 작성일 2022-04-08 11:26 댓글 1건

본문

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


문의 주신 내용과 관련하여 먼저 확인할 사항이 있어 답글 드립니다.

1. 먼저 SpreadJS의 경우, getColumnVisible 메서드가 있으며 이와 관련하여 visibleColumns로 별도 변수를 설정하신 걸까요? 

2. 위의 문의와 더불어 조건으로 설정한 코드에 대해 좀 더 디테일한 설명 부탁 드립니다. 

execute의 두 번째 매개변수인 options의 col 속성에 바로 접근 시 undefined가 나오며 만약 시트의 활성화된 열 인덱스를 구하고 싶으신 거라면 getActiveColumnIndex를 사용 해보시기 바랍니다.


위의 사항을 확인 후, 회신 주시면 감사 드리겠습니다.


- getActiveColumnIndex : https://www.grapecity.com/spreadjs/docs/latest/online/SpreadJS~GC.Spread.Sheets.Worksheet~getActiveColumnIndex.html


도움말 문서를 같이 전달 드리며 다른 궁금한 점이 생기면, 문의 주시기 바랍니다. 


감사합니다. 

그레이프시티 드림


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

댓글목록

파다님의 댓글

파다 작성일


안녕하세요. 설명을 추가해서 질문드립니다.
1. 네. 자체적으로 만든 변수입니다.
2. 우선 저 함수가 동작은 잘 하고 options.col로도 문제 없이 접근됐습니다.
활성화된 열을 구하고 싶은 게 아니라 disabled라는 임의의 변수에 true, false값을 넣어주고 그 값이 true인 경우에는 editCell 동작을 막고, 값이 false인 경우에는 editCell이 되게끔 하고 싶습니다.

우선 disabled가 true이면 if문에 들어가고, false이면 if문밖의 return false되는것 까지는 잘 되는데 
return true; return false;일 때의 실행 결과가 같아서 질문드립니다.

감사합니다.

VueJS Re: commandManager 사용법

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

페이지 정보

작성자 GCK루시 작성일 2022-04-08 15:24 댓글 0건

본문

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


먼저 문의에 대한 회신 감사드립니다.

해당 현상의 경우, reigster에 command를 editCell로 설정하는 경우, Commands Namespace에서 기존의 editCell 명령과 충돌이 되어 이슈가 발생된 것으로 추측됩니다. command로 설정할 이름을 변경하시면 delete 키(keyCode 46)를 입력 시, 조건에 따라 delete 액션이 발생하는 것을 확인하실 수 있습니다. 아래 샘플에서는 0번째 열 인덱스에 있는 셀 값의 detele 키 동작을 방지하고 있으며 참고하여 주시기 바랍니다.



추가적으로 위의 코드의 경우, delete 키를 눌렀을 때만 작동합니다. 특정 영역의 셀의 editMode가 시작하는 것을 막고 싶으신 경우, 아래 코드와 같이 EditStarting 이벤트를 취소시켜 보시기 바랍니다.

 sheet.bind(GC.Spread.Sheets.Events.EditStarting, function (sender, args) {
    if (args.col == 0)
    { 
      args.cancel = true;
    }
  });


- editStarting : https://www.grapecity.com/spreadjs/docs/latest/online/SpreadJS~GC.Spread.Sheets.Events~EditStarting_EV.html?highlight=editstarting%2C


도움말 문서를 같이 전달 드리며 다른 궁금한 점이 생기면, 문의 주시기 바랍니다. 


감사합니다. 

그레이프시티 드림 


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

댓글목록

등록된 댓글이 없습니다.

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