mvc - mvc剑道UI网格-调用函数后,所有的行已经展开



我正在使用ASP。。NET MVC剑道网格。在单击按钮时,我需要展开所有行。下面是相同的代码:

var row = $(this).closest("tr.k-master-row");
grid.data("kendoGrid").expandRow(row);

这里已经定义了this和grid。

在展开每行时,将调用以下事件(针对每行),因为绑定了详细模板:.Events(events => events. databound ("onInnerGridDataBound"))

function onInnerGridDataBound(e) {
     //Do something here
}

我的要求是,在我启动调用展开所有行之后,我在代码中有几行,只有在所有行都被展开之后才应该执行。

 function expandAll()
 {
    var row = $(this).closest("tr.k-master-row"); //Step1
    grid.data("kendoGrid").expandRow(row);"); //Step2

    //Do something after the onInnerGridDataBound event is called for
    every expanded row. 
    ..................................
    //Ideally should be step 4 to be executed, but executes immediately
    //after step2
 }
//Ideally Step 3 to execute, but executes last
function onInnerGridDataBound(e) {
     //Do something here
}

我想避免使用setTimeout方法,因为我不知道它需要多长时间或任何标志。

希望尽快找到答案。

谢谢!

你试过吗?

不确定它是否在这里工作,但它应该是这样的:

$.when(grid.data("kendoGrid").expandRow(row))
 .done(function () {
     //after completing expandRow event
 })
 .then(function() {
    //something else
});

同样,这可能根本不起作用,因为我不确定kendoGrid事件是否可以被视为延迟对象,但值得一试。

相关内容

  • 没有找到相关文章

最新更新