在删除时将重复的行保留在剑道网格中(删除行将删除所有重复的行)

时间:2019-03-13 07:26:42

标签: jquery asp.net-mvc kendo-ui kendo-grid kendo-asp.net-mvc

我有一个需要保留可以重复的行的要求。 要求是我将价值从一个网格拖到另一个网格。 但是当我删除一行时,它将删除所有相同的行

我正在使用剑道remove函数,例如

rightGrid.dataSource.remove(sortElement);

如果我拖动重复的行,它将删除所有相同的行,而不仅仅是一行。

是否有任何功能只能删除该特定行。

我也用过removeRow,但没有运气。

1 个答案:

答案 0 :(得分:0)

您可以使用Grid的removeRow():

$("#grid").on("click", "button.remove", function() {
    var $tr = $(this).closest("tr"),
        grid = $("#grid").data("kendoGrid");

    grid.removeRow($tr);
});

或者您可以使用数据源的remove():

$("#grid").on("click", "button.remove", function() {
    var $tr = $(this).closest("tr"),
        grid = $("#grid").data("kendoGrid"),
        dataItem = grid.dataItem($tr);

    grid.dataSource.remove(dataItem);
});

您还可以通过telerik检查demo

要删除重复项,可以使用以下

function onSave(e){
var currentProductName = e.model.ProductName;
var currentProductID = e.model.ProductID;
var data = this.dataSource.data();
for(item in data){
if(data[item].ProductName == currentProductName &&
data[item].ProductID != currentProductID){
e.preventDefault();
alert("Duplicates found");
// here you can delete your Duplicates
// you had to pass ur UID to 'getByUid' function
// var dataRow = $('#grid').data("kendoGrid").dataSource.getByUid(uid);
// $('#grid').data("kendoGrid").dataSource.remove(dataRow);
}

}
}