我試過這個,並且和你有同樣的問題。然後我注意到jsfiddle的例子是使用Kendo UI v2011.3.1129,我使用的是Kendo UI Beta v2012.2.621。這些版本之間有breaking changes。
解決方法是使用與jsfiddle示例相同的版本或更改代碼。獲取數據時,我在兩處更改了代碼。 Grid小部件現在使用模型的uid字段而不是id,它代表其唯一的id。另外,爲了通過它的uid檢索Model實例,應該使用DataSource的getByUid方法。
的jsfiddle例如:
var target = dataSource.get($(e.draggable.currentTarget).data("id"))
改變的代碼
var target = dataSource.getByUid($(e.draggable.currentTarget).data("uid"))
這對目標和目標工作要做。
grid.table/*.find("tbody > tr")*/.kendoDropTarget({
group: "gridGroup",
drop: function (e) {
var target = dataSource.getByUid($(e.draggable.currentTarget).data("uid")),
dest = $(e.target);
if (dest.is("th")) {
return;
}
dest = dataSource.getByUid(dest.parent().data("uid"));
//not on same item
if (target.get("id") !== dest.get("id")) {
//reorder the items
var tmp = target.get("position");
target.set("position", dest.get("position"));
dest.set("position", tmp);
dataSource.sort({ field: "position", dir: "asc" });
}
}
});
我想你忘了鏈接到小提琴。 – Bundyo
是的,我這樣做,謝謝:) –