2013-02-15 114 views
0

我有兩個Kendo UI ListViews。我能夠獲得可用選項的列表來加載和顯示值。我也能夠獲得拖動功能的工作。問題是目標的丟棄功能。我可以將第二個ListView註冊爲dropTarget,但我無法確定如何將拖動器添加到目標ListView。Kendo UI ListView Drag - Drop

下面是相關代碼:

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中加入一個完整的例子嗎?然後,我可以檢查出來,並給予更多的幫助 – 2013-02-15 17:52:44

+0

感謝您看看它。這裏是jsFiddle鏈接:http://jsfiddle.net/TheNephalim/4w2Pw/1/ – DerHaifisch 2013-02-15 20:02:08

回答

1

我終於有答案過來了,得到了它在IE和Firefox我的機器上工作;雖然我無法讓這個解決方案在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。數據項是您想要提供給目標的dataSource的add方法的內容。