我有一个父子Telerik MVC网格。在子网格中,我有一个ComboBox。在该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事件。
史蒂夫
答案 0 :(得分:1)
检查页面源,我发现详细网格是在主行tr
之后的tr
上放置的整个表跨单元格中呈现的。所以:
tr
t-detail-row
祖先
tr
t-master-row
将第2步中找到的tr
传递给主网格的dataItem
客户端方法
var $masterRow = $comboElement.closest('tr.t-detail-row').prev('tr.t-master-row');
var masterData = $('#LieuLeconGrid')。data('tGrid')。dataItem($ masterRow);