我有一个包含3个项目的父网格,每个项目都有一个子网格作为细节的一部分。 当调用CHILD上的编辑事件时,我想获取父(masterrow)的数据,下面的代码总是得到mastergrid中的第一项,而不是单击的项的实际父项,例如,如果我编辑/添加网格中的一个项目用于主网格中的第二个项目,它仍然获取主网格数据的第一项。
var parentData = $("#gridRoomTypes").data("kendoGrid").dataItem(e.container.closest("tr"));
编辑有:
e.sender (child grid), e.container, e.model "gridRoomTypes" is my master grid
答案 0 :(得分:6)
如果e.sender是您刚编辑的子网格,则应该有效:
var parentData = $("#gridRoomTypes").data("kendoGrid").dataItem(e.sender.element.closest("tr").prev());
答案 1 :(得分:1)
以下是访问Parent Row
及其model
.....
.......
$("#YOUR_DETAIL_GRID").kendoGrid({
....
......
//ON CLICK ADD/EDIT BUTTON FOR CHILD ROWS
edit: function(e) {
var detailGridWrapper = this.wrapper;
// GET PARENT ROW ELEMENT
var parentRow = detailGridWrapper.closest("tr.k-detail-row").prev("tr");
// GET PARENT GRID ELEMENT
var parentGrid = parentRow.closest("[data-role=grid]").data("kendoGrid");
// GET THE PARENT ROW MODEL
var parentModel = parentGrid.dataItem(parentRow);
// ACCESS THE PARENT ROW MODEL ATTRIBUTES
var some_parent_row_attribute = parentModel.some_attribute;
}