2014-01-16 38 views
5

我有一個擁有3個項目的父網格,每個這些項目都有一個子網格作爲細節的一部分。 當調用CHILD上的編輯事件時,我想獲取父數據(masterrow),下面的代碼總是獲取mastergrid中的第一個項目,而不是實際的父項目單擊,例如如果我編輯/在網格中爲網格中的第二個項目添加一個項目,它仍然獲取mastergrid數據的第一個項目。Kendo ui - 獲取子網格上的父網格項(網格層次結構)添加/編輯

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

編輯有:

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

回答

5

如果e.sender是孩子網格,您只需編輯,這應該工作:

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

這似乎工作,我花了幾個小時試圖弄清楚,欣賞它。 – Zoinky

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; 
    } 
相關問題