如何获取MVC Kendo详细信息网格的实例

时间:2015-02-27 12:47:29

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

我无法理解的是如何获取详细信息网格的实例。 我有一个充满数据的网格。展开这些行会显示另一个子网格。在某些时候,我需要向这个子网格添加行,而不是从后端读取。我需要严格保持前端。

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

1 个答案:

答案 0 :(得分:2)

Kendo在小部件绑定的html元素上使用jQuery' data函数保存小部件实例。通过调用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();
}

查看小提琴:http://dojo.telerik.com/ikigo

希望这有帮助。

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

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

var masterRow = $("#grid").data("kendoGrid").select();

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

这里有一个外部按钮:http://dojo.telerik.com/ikigo/2