gpt4 book ai didi

javascript - 剑道网格拖放问题

转载 作者:行者123 更新时间:2023-11-28 09:14:47 26 4
gpt4 key购买 nike

我们在剑道网格表中使用剑道拖放功能。

1) 如果用户在任何可编辑字段上提供数据并且没有保存数据,如果用户单击/跳转到其他字段进行编辑。用户正在丢失更新的数据。

2)如果用户更新任何记录,我们将再次刷新/重新生成表或者如果我们从函数外部刷新/重新生成或者我们使用函数外部添加新记录。此后,用户无法删除行以替换为其他行。

Jsfiddel file

var data = [
{ Id: 1, Name: "data 1", Position: 1 },
{ Id: 2, Name: "data 2", Position: 2 },
{ Id: 3, Name: "data 3", Position: 3 }
];

var dataSource = new kendo.data.DataSource({
data: data,
schema: {
model: {
Id: "Id",
fields: {
Id: { type: "number" },
Name: { type: "string" },
Position: { type: "number" }
}
}
}
});

var grid= $("#grid").kendoGrid({
dataSource: dataSource,
scrollable: false,
editable : true,
toolbar: ["save","cancel", "create"],
columns: ["Id", "Name", "Position"]
}).data("kendoGrid");

grid.table.kendoDraggable({
filter: "tbody > tr:not(.k-grid-edit-row)",
group: "gridGroup",
cursorOffset: { top: 10, left: 10 },
hint: function(e) {

return $('<div class="k-grid k-widget"><table><tbody><tr>' + e.html() + '</tr></tbody></table></div>');
}
});


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" });
}
}
});

最佳答案

  1. 我前段时间遇到过类似的问题。我还在他们的论坛上发现了以下帖子 - http://www.kendoui.com/forums/ui/grid/drag-and-drop-reordering.aspx#boD2qq6aG2OF1P8AAFTdxQ

    因此,如果您在表格中再添加一列并在其中放置图像或其他元素,那么您将能够将该元素用作可拖动目标,例如:

    grid.table.kendoDraggable({
    filter: "tbody > .draggableTarget".....
  2. 当您刷新表格时,表格会在 DOM 中完全重新创建,因此您必须重新订阅拖放功能。

关于javascript - 剑道网格拖放问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15784125/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com