Javascript 在网格之间拖放后,未维护kendo mcv网格行格式
问题: 从一个栅格拖放到另一个栅格(两个方向)的结果会导致行数据与相应的标题不正确对齐 拖放前: 之后(行被放到另一个表中,然后又被放到原始表中) 为简洁起见,我将发布网格的列定义。轴网使用相同的模型,但并非所有柱在两个轴网中都可见 网格1:Javascript 在网格之间拖放后,未维护kendo mcv网格行格式,javascript,kendo-ui,drag-and-drop,kendo-grid,kendo-asp.net-mvc,Javascript,Kendo Ui,Drag And Drop,Kendo Grid,Kendo Asp.net Mvc,问题: 从一个栅格拖放到另一个栅格(两个方向)的结果会导致行数据与相应的标题不正确对齐 拖放前: 之后(行被放到另一个表中,然后又被放到原始表中) 为简洁起见,我将发布网格的列定义。轴网使用相同的模型,但并非所有柱在两个轴网中都可见 网格1: ... .Name("Group1") .Columns(columns => { columns.Bound(e => e.FlagId).Hidden(true);
...
.Name("Group1")
.Columns(columns =>
{
columns.Bound(e => e.FlagId).Hidden(true);
columns.Bound(e => e.TransactionId).Hidden(true);
columns.Bound(e => e.EmployeeId).Hidden(true);
columns.Bound(e => e.EmployeeName);
columns.Bound(e => e.FlagDate).Hidden(true);
columns.Bound(e => e.FlagCreatedById).Hidden(true);
columns.Bound(e => e.FlagCreatedBy).Hidden(true);
columns.Bound(e => e.Reason).Hidden(true);
columns.Bound(e => e.Score).HtmlAttributes(new { @class = "currency" });
columns.Bound(e => e.NumberOfTransactions).HtmlAttributes(new { @class = "currency" });
columns.Bound(e => e.TotalAmount).HtmlAttributes(new { @class = "currency" });
})
...
网格2:
...
.Name("Group2")
.Columns(columns =>
{
columns.Bound(e => e.FlagId).Hidden(true);
columns.Bound(e => e.TransactionId).Hidden(true);
columns.Bound(e => e.EmployeeId).Hidden(true);
columns.Bound(e => e.EmployeeName);
columns.Bound(e => e.FlagDate);
columns.Bound(e => e.FlagCreatedById).Hidden(true);
columns.Bound(e => e.FlagCreatedBy);
columns.Bound(e => e.Reason);
columns.Bound(e => e.Score).HtmlAttributes(new { @class = "currency" });
columns.Bound(e => e.NumberOfTransactions).Hidden();
columns.Bound(e => e.TotalAmount).HtmlAttributes(new { @class = "currency" });
})
...
删除javascript:
group1.kendoDropTarget({
drop: function (e) {
console.log("e.draggable.currentTarget: %O", e.draggable.currentTarget);
e.dropTarget.append($(e.draggable.currentTarget).clone());
$(e.draggable.currentTarget).remove();
},
group: "gridGroup2"
});
不要玩DOM——在本例中,这不是一个好的实践,imo——尝试只复制数据并将其添加到目标网格中
drop: function(e) {
var sourceGrid = $(e.draggable.element).data("kendoGrid"),
dataItem = sourceGrid.dataItem(e.draggable.currentTarget);
$(e.dropTarget).data("kendoGrid").dataSource.add(dataItem);
}