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

TreeView 관련해서 질문드립니다. > Q&A | 토론

본문 바로가기

Wijmo

Q&A | 토론

기타 TreeView 관련해서 질문드립니다.

페이지 정보

작성자 nxdev1 작성일 2023-11-20 11:19 조회 165회 댓글 6건
제품 버전 : 5.20221.842
컨트롤 이름 : TreeView

본문

TreeView에서 Drop&Down을 할 때에 순서 이동만 가능하고 다른 노드의 자식으로는 이동하지 못하게 막을 수 있나요?

그리고 이동하려는 노드의 레벨이 2일 경우 2 이하의 노드로는 이동 못하게 막을 수 있나요?

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

댓글목록

MESCIUS루시님의 댓글

MESCIUS루시 작성일

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

문의하신 내용과 관련하여 확인할 사항이 있어 문의드립니다.
1. drop&down이라고 하셨는데 drag&drop 기능이 맞으신지 확인 부탁드립니다.
2. 노드의 레벨이 2일 경우, 2 이하의 노드로 이동 못하게 설정하고 싶다고 하셨는데 해당 문의에 대한 다양한 해석이 있어 디테일한 use case를 공유해주시기 바랍니다.
정확한 답변을 위해 확인 요청드리오니 확인 후 회신주시면 감사드리겠습니다.

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

nxdev1님의 댓글

nxdev1 작성일


여기로는 이동이 안되고,

이렇게는 이동이 가능하게 제한을 걸 수 있나요?
반대로 첫번째 케이스는 가능하고, 두번째 케이스는 할 수 없게 제한을 걸 수 있나요?

MESCIUS루시님의 댓글의 댓글

MESCIUS루시 작성일

nexol 님, 안녕하세요.
메시어스입니다.
 
먼저 답변이 지연된 점 죄송합니다. 다만 대댓글로 남겨주시지 않는 경우, 댓글 알림이 울리지 않아 확인 및 답변이 지연될 수 있습니다. 
해당 내용은 이전에 이미지와 함께 답변 글로 안내드렸으며 고객님의 회신을 기다리고 있었습니다. 
회신을 기다리던 중 고객님의 회신이 늦어져 저희 쪽에서 해당 게시글을 현재 확인해보았으며 관련하여 내용에 대해 추가 확인이 필요한 상황입니다.
 
1. 첫 번째 이미지 확인 요청 내용
=> 자식 노드가 부모 노드 밖으로 이동되는 것을 제한하고 싶다는 것이 맞는지 확인 부탁드립니다.
2. 두 번째 이미지 확인 요청 내용
=> 형제 노드의 순서를 드래그 앤 드랍으로  변경하고 싶다는 것이 맞는지 확인 부탁드립니다.
 
다시 한 번 앞서 안내드렸던 것처럼, 대댓글로 남겨주시지 않으면 댓글 알림이 울리지 않아, 확인 및 답변이 지연될 수 있습니다.
아래 이미지와 같이 대댓글로 다시 한 번 재확인 및 회신 부탁드립니다.


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

nxdev1님의 댓글의 댓글

nxdev1 작성일

지금 TreeView의 드래그&드랍 기능을 보면 두가지 케이스가 존재하는데요.
첫번째는 노드와 노드 사이로의 이동, 두번째는 자식 노드로의 이동 이렇게 존재하고 있는데
각각의 상황에 따라 노드와 노드 사이로의 이동을 제헌하고 무조건 노드들 중에서 자식 노드로만 이동할 수 있게 하거나, 자식 노드로의 이동을 제헌하고 노드와 노드 사이로만 이동할 수 있도록 하고 싶습니다.

MESCIUS루시님의 댓글의 댓글

MESCIUS루시 작성일

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

문의 확인 회신 감사드리며 확인 후 답변드리도록 하겠습니다.

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

1 답변

기타 Re: TreeView 관련해서 질문드립니다.

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

페이지 정보

작성자 MESCIUS루시 작성일 2023-12-01 16:47 댓글 0건

본문

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

문의하신 같은 레벨의 노드 사이에서 드래그 앤 드랍과 자식 노드로만 drop할 수 있는 기능의 경우, drop 이벤트 내에서 dragSource와 dropTarget의 level 속성과 position을 이용하면 됩니다. 해당 레벨의 조건에 따라 e.cancel를 하여 취소 처리하면 drop을 방지할 수 있습니다.

아래 코드에서 필요한 조건문을 선택하여 사용해주시기 바랍니다.
let tree = new wijmo.nav.TreeView("#theTree", {
  itemsSource: getData(),
  displayMemberPath: "header",
  childItemsPath: "items",
  allowDragging: true,
  drop:function(s,e){
    
    //1. 같은 레벨의 노드 사이로만 이동할 수 있게 제한
    //if(e.dragSource.level !== e.dropTarget.level || e.position == 2){
    //  e.cancel = true
    // }
   // 2. 자식 노드로만 이동할 수 있게 제한
        if (
      e.dragSource.level > e.dropTarget.level || // check level
      (e.dragSource.level >= e.dropTarget.level && e.position != 2) // check for into position
    ) {
      e.cancel = true;
    }
  },
});


관련 API 문서를 공유드리며 다른 궁금한 점이 생기면 문의주시기 바랍니다.

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

댓글목록

등록된 댓글이 없습니다.

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