Asp.net mvc 如何获取MVC剑道细节网格的实例

Asp.net mvc 如何获取MVC剑道细节网格的实例,asp.net-mvc,kendo-ui,kendo-grid,kendo-asp.net-mvc,Asp.net Mvc,Kendo Ui,Kendo Grid,Kendo Asp.net Mvc,我不明白的是,我应该如何获得细节网格的实例。 我有一个充满数据的网格。展开这些行将显示另一个子网格。在某个时候,我需要向这个子网格添加行,而不需要从后端读取。我需要把它严格地放在前端 我可以从主网格中获取任何行的实例,但是如何获取细节网格的实例以对其进行更改?Kendo使用jQuery的data函数在小部件绑定到的html元素上保存小部件实例。初始化后,可通过调用htmlElement.data(“kendoWidgetName”) 在您的情况下,假设masterRow指向任何主网格行,我将编写

我不明白的是,我应该如何获得细节网格的实例。 我有一个充满数据的网格。展开这些行将显示另一个子网格。在某个时候,我需要向这个子网格添加行,而不需要从后端读取。我需要把它严格地放在前端


我可以从主网格中获取任何行的实例,但是如何获取细节网格的实例以对其进行更改?

Kendo使用jQuery的
data
函数在小部件绑定到的html元素上保存小部件实例。初始化后,可通过调用
htmlElement.data(“kendoWidgetName”)

在您的情况下,假设
masterRow
指向任何主网格行,我将编写以下代码:

var nextRow = masterRow.next(); //Get detail row for current master item

if(!nextRow.is(".k-detail-row") || !nextRow.is(":visible")) {
    alert("Details are not loaded yet or are not expanded");
} else { //Details are expanded

    //Get details grid instance
    var detailsGrid = nextRow.children(".k-detail-cell:first")
                             .children(".k-grid:first").data("kendoGrid");
    detailsGrid.addRow();
}
看看小提琴:

希望这有帮助

更新-带有外部按钮的示例:

在这种情况下,可以使用以下方法实现选定的主行:

然后找到第一个示例中的详细信息网格


这是一个外部按钮的提琴:

是的,谢谢。这是一个很大的帮助,但我想知道我是否可以用外部按钮来做这件事。示例:我有一个全局按钮,当我单击它时,我从父级获取所选行,并向子级添加新行。有没有办法做到这一点?
var masterRow = $("#grid").data("kendoGrid").select();