сохранить дублирующуюся строку в kendo grid

#jquery #asp.net-mvc #kendo-ui #kendo-grid #kendo-asp.net-mvc

#jquery #asp.net-mvc #kendo-пользовательский интерфейс #kendo-grid #kendo-asp.net-mvc

Вопрос:

У меня есть требование, при котором мне нужно сохранить строку, которую можно повторить. Требование заключается в том, что я перетаскиваю значение из одной сетки в другую сетку. но когда я удаляю строку, она удаляет все одинаковые строки

Я использую функцию kendo remove , например

 rightGrid.dataSource.remove(sortElement);
  

если я перетаскиваю дублирующуюся строку, она удаляет все одинаковые строки, а не только одну.

Существует ли какая-либо функция, которая может удалить только эту конкретную строку.

Я также использовал removeRow , но безуспешно.

Ответ №1:

Вы можете использовать функцию удаления сетки():

 $("#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

Чтобы удалить дубликаты, вы можете использовать следующее

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

}
}
  

Комментарии:

1. Я не хочу удалять дублирующиеся строки, это главная проблема. в вашей демонстрации при проверке обеих строк есть разница. данные-uid. В моем случае есть то же самое, потому что эта строка из другой сетки.