2013-02-15 3 views
0

검도 UI ListView가 두 개 있습니다. 로드 및 표시 값에 사용할 수있는 옵션 목록을 가져올 수 있습니다. 드래그 기능을 작동시킬 수도 있습니다. 문제는 대상의 삭제 기능입니다. 두 번째 ListView를 dropTarget으로 등록 할 수는 있지만 대상 ListView에 드래그 가능 항목을 추가하는 방법을 결정할 수 없습니다. 여기 검도 UI ListView 끌기 - 놓기

은 관련 코드입니다 : 나는 마침내 해답을 와서 내 컴퓨터에 IE와 파이어 폭스에서 작동 그것을 가지고

var groupDataSource = getReadGroupsDataSourceFor(2819); 

    try { 
     var readgroups = $("#availableReadGroups").kendoListView({ 
      selectable: "single", 
      navigatable: false, 
      template: "#if(!IsSelectedGroup) {# <div style='font-size:13px;padding-left:5px;padding-top:5px;'>${GroupName}</div>#} else {# <div class=\"k-state-selected\" style=\"font-size:13px;padding-left:5px;padding-top:5px;\" aria-selected=\"true\">${GroupName}</div> #}#", 
      dataSource: groupDataSource 
     }); 

     var selectedGroups = $("#selectedGroupsValues").kendoListView({ 
      selectable: "single", 
      navigatable: false, 
      template: "#if(!IsSelectedGroup) {# <div style='font-size:13px;padding-left:5px;padding-top:5px;'>${GroupName}</div>#} else {# <div class=\"k-state-selected\" style=\"font-size:13px;padding-left:5px;padding-top:5px;\" aria-selected=\"true\">${GroupName}</div> #}#", 
     }); 

     readgroups.kendoDraggable({ 
      filter: "div[role=option]", 
      hint: function (row) { 
       return row.clone(); 
      } 
     }); 

     selectedGroups.kendoDropTarget({ 
      drop: function (e) { 
       var lvObject= selectedGroups.data(); 
       lvObject.kendoListView.dataSource.add(e.draggable); 
      } 
     }); 
    } catch (err) { 
     alert(err); 
    } 
+0

코드가 정상적으로 보인다면 드롭 이벤트 만 있으면됩니다. 어쩌면 jsfiddle에 완전한 예제를 넣을 수 있습니까? 그럼 내가 그것을 확인하고 더 많은 도움을 줄 수 –

+0

그것 좀 봐 주셔서 감사합니다. 다음은 jsFiddle 링크입니다. http://jsfiddle.net/TheNephalim/4w2Pw/1/ – DerHaifisch

답변

1

; 하지만 jsFiddle에서이 솔루션을 사용할 수 없었습니다. 이유는 알 수 없습니다.

selectedGroups.kendoDropTarget({ 
     drop: function (e) { 
      var lvObject= selectedGroups.data(); 
      lvObject.kendoListView.dataSource.add(readgroups.data("kendoListview").dataSource.getByUid(e.draggable.hint.data().uid)); 
     } 
    }); 

힌트 재산권 명백하게 차례로 데이터 메소드가 jQuery 오브젝트를 포함 여기서

코드이다. 데이터 메소드를 실행할 때 반환되는 유일한 것은 uid 속성을 가진 객체입니다. 이를 사용하여 데이터 항목에 대해 드래그 가능한 출처의 데이터 소스를 검색 할 수 있습니다. 데이터 항목은 대상의 dataSource의 add 메소드에 제공하려는 항목입니다.