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

순서 변경 > Q&A | 토론

본문 바로가기

PureJS 순서 변경

페이지 정보

작성자 특수문양 작성일 2023-11-20 18:19 조회 104회 댓글 0건
제품 버전 : 16.0.2
컨트롤 이름 : 순서변경

본문

안녕하세요 순서 변경 건으로 질문 드립니다.


현재 레벨 별로 한번에 이동 시키는 것 까지는 완료 하엿습니다. 그런데 이동 위치가 안맞아서 질문드립니다.


현 소스는 


$('#btnDown').on('click', function () {

    var sheet = spread.getActiveSheet();

    var selections = sheet.getSelections();

    if (selections.length > 1 || selections[0].row + selections[0].rowCount == sheet.getRowCount() || selections[0].row <= 2) {

        return;

    }


    var current = selections[0].row;

    var dLevel = sheet.getValue(selections[0].row, cLevel);

    var _tempRowCount = 1;

    if (dLevel != 0) {

        while (true) {

            var nextLevel = sheet.getValue(current + _tempRowCount, cLevel);

            if (nextLevel > dLevel) {

                _tempRowCount++;

            } else if (nextLevel == dLevel || nextLevel < dLevel) {

                break;

            } else {

                break;

            }

        }

    }

    if (dLevel > 0) {

        sheet.addRows(selections[0].row, 1);

        //sheet.setSelection(selections[0].row + 1, -1, selections[0].rowCount, -1);

        sheet.setSelection(selections[0].row + 1, -1, _tempRowCount, -1);

        selections = sheet.getSelections();

        //sheet.moveTo(selections[0].row + selections[0].rowCount, -1, selections[0].row - 1, -1, 1, -1, GC.Spread.Sheets.CopyToOptions.all);

        //sheet.deleteRows(selections[0].row + selections[0].rowCount, 1);

        sheet.moveTo(selections[0].row + _tempRowCount, -1, selections[0].row - 1, -1, 1, -1, GC.Spread.Sheets.CopyToOptions.all);

        sheet.deleteRows(selections[0].row + _tempRowCount, 1);

    }

});


버튼을 눌럿을 경우 하위레벨을 잡아 밑으로 한 칸 내리는데 이렇게 되면 밑에있는 레벨 구조와 안맞게 됩니다 한 칸을 내리는게 아니라 여러칸을 내리고 싶습니다



해당 화면에서 순번 2번 행을 밑으로 이동시 레벨이 2인것을 같이 이동 하여야합니다. 즉 2~5 순번 까지 순번 8번 밑으로 내려가겟끔 하고 싶습니다.



 

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

댓글목록

등록된 댓글이 없습니다.

2 답변

PureJS Re: 순서 변경

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

페이지 정보

작성자 MESCIUS루카스 작성일 2023-11-21 18:01 댓글 1건

본문

안녕하세요 메시어스입니다.


LEVEL열의 값을 비교하여 행 전체를 이동 시키는 샘플 전달 드립니다.

해당 샘플을 참고하여 진행하시는 프로젝트에 맞게 적용해 보시기 바랍니다.



감사합니다.

메시어스 드림

댓글목록

특수문양님의 댓글

특수문양 작성일

감사합니다 해당 부분은 해결이 되엇습니다. 반대로 그룹으로 위로 올리는 기능도 필요한데 그부분도 알려주실수 있으신가요?

PureJS Re: 순서 변경

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

페이지 정보

작성자 MESCIUS루카스 작성일 2023-11-23 09:33 댓글 2건

본문

안녕하세요 메시어스입니다.


위로 올리는 로직에 대한 샘플 전달 드리니 참고하여 주시기 바랍니다.



감사합니다.

메시어스 드림

댓글목록

특수문양님의 댓글

특수문양 작성일

해당 방법은 디자인이 사라지는데 혹시 moveTo 사용해서는 못하나요?

MESCIUS루카스님의 댓글의 댓글

MESCIUS루카스 작성일

안녕하세요 메시어스입니다.

첫 번째로 전달 드린 샘플과 같이 moveTo를 이용해서 구현 가능합니다만, 진행 프로젝트에 맞게 로직을 모두 구현해 드리지는 않습니다.
저희도 문의 주시는 내용에 맞게 모두 구현하여 드릴 수 있다면 좋겠으나, 그리고 종종 구현해 드리고 있으나, 여건 상 구현에 필요한 기능이나 메소드에 대한 SpreadJS 사용법에 대해 제공해 드리는 정도의 안내가 가능합니다.
하나의 행 전체를 아래로 이동 시키는 동작에 대한 샘플을 제공해 드렸으니 해당 샘플에서 사용된 메소드를 참고하여 위로 올리는 로직을 구현하시는 것도 가능하실 것이라 생각됩니다.

많은 도움을 드리지 못해 죄송합니다.

감사합니다.
메시어스 드림

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