【问题标题】:keep duplicate row in kendo grid在剑道网格中保留重复的行
【发布时间】:2019-03-13 07:26:42
【问题描述】:

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

我正在使用剑道 remove 功能例如

rightGrid.dataSource.remove(sortElement);

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

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

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

【问题讨论】:

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


    【解决方案1】:

    你可以使用 Grid 的 removeRow():

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

    或者你可以使用DataSource的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);
    }
    
    }
    }
    

    【讨论】:

    • 我不想删除主要关注的重复行。在您的演示中,当您检查两行时有差异。数据 uid。在我的情况下是相同的,因为该行来自另一个网格。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多