我无法理解的是如何获取详细信息网格的实例。 我有一个充满数据的网格。展开这些行会显示另一个子网格。在某些时候,我需要向这个子网格添加行,而不是从后端读取。我需要严格保持前端。
我可以从主网格中获取任何行的实例,但是如何获取详细信息网格的实例以对其进行更改?
答案 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