是否可以将行拖到 kendo 网格之外?
Is it possible to drag row outside kendo grid?
我正在用几行填充 kendo 网格,并希望在网格和其他 html 组件之间实现 drag/drop 功能。
我可以找到很多资源来说明如何 drag/drop/对网格内的行进行排序,甚至是从一个网格到另一个网格,但对于网格外到另一个组件的内容却一无所知。
kendo ui-grid 是否支持这个?
我能想到的一种方法是 - 使整个网格可拖动,当拖动开始时获取当前选定的行数据并在放置时使用它。但这并不是一个非常干净的方法。在这种情况下,我什至需要制作自定义拖动图像。
还有其他建议吗?
您可以使用 kendoDropTarget() 方法指定另一个 html 元素作为目标。例如这里有一个网格和一个 HTML 文本区域:
<div id="grid"></div>
<textarea id="dropHere" rows="3" cols="50"></textarea>
$("#grid table tbody > tr").kendoDraggable({
group: "gridGroup",
threshold: 100,
hint: function(e) {
return $('<div class="k-grid k-widget"><table><tbody><tr>' + e.html() + '</tr></tbody></table></div>');
}
});
$("#dropHere").kendoDropTarget({
group: "gridGroup",
drop: function(e) {
e.draggable.hint.hide();
var txt = '';
$(e.draggable.element[0]).find("td").each(function(idx, td){
txt += $(td).text() + '\n';
});
e.dropTarget.text(txt);
}
});
我正在用几行填充 kendo 网格,并希望在网格和其他 html 组件之间实现 drag/drop 功能。
我可以找到很多资源来说明如何 drag/drop/对网格内的行进行排序,甚至是从一个网格到另一个网格,但对于网格外到另一个组件的内容却一无所知。
kendo ui-grid 是否支持这个?
我能想到的一种方法是 - 使整个网格可拖动,当拖动开始时获取当前选定的行数据并在放置时使用它。但这并不是一个非常干净的方法。在这种情况下,我什至需要制作自定义拖动图像。
还有其他建议吗?
您可以使用 kendoDropTarget() 方法指定另一个 html 元素作为目标。例如这里有一个网格和一个 HTML 文本区域:
<div id="grid"></div>
<textarea id="dropHere" rows="3" cols="50"></textarea>
$("#grid table tbody > tr").kendoDraggable({
group: "gridGroup",
threshold: 100,
hint: function(e) {
return $('<div class="k-grid k-widget"><table><tbody><tr>' + e.html() + '</tr></tbody></table></div>');
}
});
$("#dropHere").kendoDropTarget({
group: "gridGroup",
drop: function(e) {
e.draggable.hint.hide();
var txt = '';
$(e.draggable.element[0]).find("td").each(function(idx, td){
txt += $(td).text() + '\n';
});
e.dropTarget.text(txt);
}
});