Javascript 剑道ui-在子添加/编辑上获取父网格项(网格层次结构)

Javascript 剑道ui-在子添加/编辑上获取父网格项(网格层次结构),javascript,jquery,kendo-ui,datagrid,kendo-grid,Javascript,Jquery,Kendo Ui,Datagrid,Kendo Grid,我有一个父网格,它有3个项目,每个项目都有一个子网格作为细节的一部分。 调用子级上的编辑事件时,我希望获取父级(masterrow)的数据,下面的代码始终获取主网格中的第一个项目,而不是单击的项目的实际父级,例如,如果我为主网格中的第二个项目编辑/添加网格中的项目,它仍然获取主网格数据的第一个项目 var parentData = $("#gridRoomTypes").data("kendoGrid").dataItem(e.container.closest("tr")); 编辑有:

我有一个父网格,它有3个项目,每个项目都有一个子网格作为细节的一部分。 调用子级上的编辑事件时,我希望获取父级(masterrow)的数据,下面的代码始终获取主网格中的第一个项目,而不是单击的项目的实际父级,例如,如果我为主网格中的第二个项目编辑/添加网格中的项目,它仍然获取主网格数据的第一个项目

 var parentData = $("#gridRoomTypes").data("kendoGrid").dataItem(e.container.closest("tr"));
编辑有:

 e.sender (child grid), e.container, e.model "gridRoomTypes" is my master grid

如果e.sender是您刚刚编辑的子网格,则应该可以使用:

var parentData = $("#gridRoomTypes").data("kendoGrid").dataItem(e.sender.element.closest("tr").prev());

以下是如何访问
父行及其
模型

.....
.......

$("#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;
    }

这似乎奏效了,我花了好几个小时想弄明白,很感激。