2011-10-07 62 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);