【问题标题】:How to update multiple rows on kendo grid with outside button如何使用外部按钮更新剑道网格上的多行
【发布时间】:2014-11-04 04:16:20
【问题描述】:

我有一个剑道网格,列如下:

我为关闭按钮编写了一个函数,当用户通过检查选择行并单击关闭按钮时,这将自动将 IsClosed Column 更新为“True”

这是我的代码:

$(function () {
    $('#btnClose').click(function () {
        var grid = $('#grOrders').data("kendoGrid");
        $.each($('#grOrders :checkbox:checked').closest('tr'), function () {                
            var data = grid.dataItem($(this));
            data.set("IsClosed", true);
        });
    });

});

当我测试时,它只更新检查的第一行,不知道为什么?请帮帮我。

【问题讨论】:

    标签: jquery asp.net kendo-ui telerik


    【解决方案1】:

    问题在于,一旦您调用 set("IsClosed", true),KendoUI 就会重新绘制网格,因此下一个 grid.dataItem 不会返回您所期望的。

    相反,尝试第一个each 获取需要修改的项目列表,然后第二个each 实际修改它们。比如:

    $('#btnClose').click(function () {
        var grid = $('#grid').data("kendoGrid");
        var rows = $('#grid :checkbox:checked');
        var items = [];
        $.each(rows, function () {
            var item = grid.dataItem($(this).closest("tr"));
            items.push(item);
        });
        $.each(items, function(idx, elem) {
            elem.set("IsClosed", true);
        });
    });
    

    【讨论】:

    • 非常感谢,它工作得很好。你能告诉我更多吗?如何将此项目列表发送到控制器以更新数据库?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-25
    • 2014-09-08
    相关资源
    最近更新 更多