Kendo grid editRow方法:抑制弹出窗口

Mat*_*Mat 2 kendo-ui kendo-grid

我要为Kendo Grid创建一个自定义的"更新"按钮.

基本上,它以编程方式将适当的行放入编辑模式(使用editRow),将某些字段更新为特定值(使用model.set),然后保存行(使用saveRow).

它正在工作,但是一旦editRow调用该方法就会显示弹出编辑窗口,这会减慢进程并且看起来不太好.

有没有办法在以编程方式修改数据时抑制弹出窗口?这就是我正在做的事情(可能有另一种/更好的方法来做到这一点):

    columns: [
        ....
        { command: [{name: 'edit' }, {name: 'approval'}, {name: 'delrow'}] }
    ],
    dataBound: function() {

        grid.find('.k-grid-approval').click(function() {
            var row = $(this).parents('tr:first');
            var g = requisitions.data('kendoGrid');
            var data = g.dataItem(row[0]);
            var model = g.dataSource.getByUid(data.uid);
            g.editRow(row[0]);
            model.set('status', 'Pending');
            model.set('date_submitted', moment().toDate());
            g.saveRow();
        });
Run Code Online (Sandbox Code Playgroud)

我怀疑有更好的方法可以做到这一点,但我不知道它是什么.任何建议都非常感谢.

Mat*_*Mat 6

我是对的...还有更好的方法:

dataBound: function() {

    grid.find('.k-grid-approval').click(function() {
        var row = $(this).parents('tr:first');
        var g = requisitions.data('kendoGrid');
        var data = g.dataItem(row[0]);
        var model = g.dataSource.getByUid(data.uid);
        // g.editRow(row[0]);
        model.set('status', 'Pending');
        model.set('date_submitted', moment().toDate());
        // g.saveRow();
        // editRow and saveRow are not required -- just use dataSource.sync()
        g.dataSource.sync();
    });
Run Code Online (Sandbox Code Playgroud)