开发者

Telerik MVC Grid: Getting the Parent Row after a ComboBox OnChange event during inline editing

I have an parent child Telerik MVC grid. In the child grid I have a 开发者_开发知识库ComboBox. In the OnChange event of that comboBox, I need to lookup the value of something and populate another column in this edited row. If I already have child rows in this child grid, the following code will work to get the dataItem object of the parent row. However, if there are no child rows (I am just adding the first row), this does not work.

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
}

With no child rows in the child grid, how can I get the parent dataItem object and get the value of a column of the parent row?

Remember: This is the OnChange event of a ComboBox in a grid during in-line editing. This is NOT the OnEdit event of the grid.

Steve


Inspecting the page source, I discovered that the detail grid is rendered in a whole-table-spanning cell placed on the tr following the master row tr. So:

  1. get closest tr ancestor with class t-detail-row
  2. find the nearest previous sibling tr with class t-master-row
  3. pass the tr found on step 2 to the dataItem client side method of the master grid

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

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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜