2011-10-07 55 views
1

我有一個父子Telerik MVC網格。在子網格中,我有一個ComboBox。在該組合框的OnChange事件中,我需要查找某個東西的值並在此編輯的行中填充另一列。如果在這個子網格中已經有子行,下面的代碼將用於獲取父行的dataItem對象。但是,如果沒有子行(我只是添加第一行),這是行不通的。Telerik MVC Grid:在內聯編輯期間獲得ComboBox OnChange事件後的父行

function ComboBox_OnChangeg(e) 
{ 
    var comboID = $("#combo").data('tComboBox').value(); 
    var parentID = row.closest('.t-grid').data('tGrid').data[0].ParentID; // <--- IS NOT AN OBJECT!!! 

    // ajax call, blah blah 
} 

子網格中沒有子行,我怎麼能得到父級dataItem對象並獲得父行的列的值?

記住:這是在線編輯期間網格中ComboBox的OnChange事件。這不是網格的OnEdit事件。

史蒂夫

回答

0

檢查網頁源代碼,我發現細節網格中置於tr主排tr下一個完整表,跨越單元格中呈現。所以:

  1. 得到最接近tr的祖先類t-detail-row
  2. 找到最近的前一個兄弟tr帶班t-master-row
  3. 傳遞第2步中發現主電網的dataItem客戶端的方法tr

    var $masterRow = $comboElement.closest('tr.t-detail-row').prev('tr.t-master-row');

    var masterData = $('#LieuLeconGrid')。data('tGrid')。dataItem($ masterRow);