1

我有一个父子 Telerik MVC 网格。在子网格中,我有一个 ComboBox。在该组合框的 OnChange 事件中,我需要查找某些内容的值并填充此已编辑行中的另一列。如果此子网格中已经有子行,则以下代码将用于获取父行的 dataItem 对象。但是,如果没有子行(我只是添加第一行),这不起作用。

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 事件。

史蒂夫

4

1 回答 1

1

检查页面源代码,我发现细节网格呈现在整个表格跨越单元格中,该单元格放置在tr主行的后面tr。所以:

  1. 获得与班级最近的tr祖先t-detail-row
  2. 找到最近的同级tr同级t-master-row
  3. tr第 2 步中找到的结果传递给dataItem主网格的客户端方法

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

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

于 2012-06-29T11:16:41.400 回答