【问题标题】:Kendo UI MVC Grid popup editor close event removing grid stateKendo UI MVC Grid 弹出编辑器关闭事件删除网格状态
【发布时间】:2014-06-30 20:58:35
【问题描述】:

我有一个 Keno UI MVC 网格,我为复选框字段创建了一个 ClientTemplate。 在复选框单击事件上,我正在将类添加到选中的 tr 中。并打开该行详细信息的弹出编辑器。

当我关闭弹出窗口时,复选框将被取消选中,所选行将变为未选中状态。我怎样才能防止这种情况并保持状态。

复选框的OnClick事件

function chkClick(e) {
    isChecked = $(e).is(':checked');
    _addressId = $(e).val();


    var $tr = $(e).closest("tr");

    if (isChecked) {
        $tr.addClass("k-state-selected");
        $tr.find(".k-grid-edit").click();
    }
    else {
        $tr.removeClass("k-state-selected");
        $tr.find(".k-grid-cancel").click();
    }
}

Grid 行的 OnEdit 事件

function onEdit(e) {

    e.container.data("kendoWindow").bind("close", function () {
        if (_addressId > 0) {
            var grid = $('#practiceLocationsGrid').data().kendoGrid;

            var dataItem = grid.dataSource.get(_addressId);

            dataItem.set('selected', isChecked);

        }
    })

}

点击复选框之前

点击复选框后

关闭编辑弹出窗口后(正如您在关闭窗口后看到的那样,被选中的行被取消选中并且复选框被取消选中)

【问题讨论】:

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


    【解决方案1】:

    在更改事件时创建。可选择 true 并在 onchange 事件中编写打开窗口函数。

      template: "<input name='fullyPaid' class='ob-paid' type='checkbox' data-bind='checked: fullyPaid' #= fullyPaid ? checked='checked' : '' #/>"
     }
      ]
    });
    
    
    var grid = $("#grid").data("kendoGrid");
    grid.tbody.on("change", ".ob-paid", function (e) {
    
    // open the window. 
    });
    

    检查这里

    http://jsbin.com/ebadaj/12/edit

    【讨论】:

    • 我不明白您的回答,听起来与我的问题不太接近。我的问题是没有打开窗户。在我关闭窗口后,被选中的行被取消选中并且复选框被取消选中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多