从父行获取Kendo UI Grid / get detailgrid

时间:2015-04-10 10:15:49

标签: jsp kendo-ui kendo-grid

下一个剑道问题。

我知道如何在Main / Mastergrid中展开一行但是如何在行展开后获取detailGrid?

使用以下内容展开行:

function dataBound(e){
      ...
     $("#gridID").data("kendoGrid").expandRow(row);
}

展开后,我想在此detailGrid中找到一个项目。

行扩展后是否有事件? 不调用detailgrid上的事件数据绑定!

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

主网格:

<kendo:grid name="gridMain" detailTemplate="detailGrid"   detailExpand="detailExpand" dataBound="expand" >
</kendo:grid>

详情网格:

  <kendo:grid name="detailGrid_#=ID#" detailExpand="detailExpand">
</kendo:grid>

JS主数据包:

function expand(e){
    var id= ${param.id}+"";
    $.each(e.sender.dataSource.data(), function (idx, elem) {
        if (elem.ID == id) {
            index = Math.floor(idx / e.sender.dataSource.pageSize() + 1);
            if ( index != e.sender.dataSource.page() ) {
                  e.sender.dataSource.page(index);
                  var row = $("#gridMain")
                                       .data("kendoGrid")
                                       .tbody
                                       .find("tr[data-uid='" + elem.uid + "']");
                  $("#gridMain").data("kendoGrid").expandRow(row);
            }
        }
    });
}

JS DetailGrid detailExpand:

function detailExpand(e){
            console.log("detailExpand");
            console.log(e);
           //where is the detail Datasource ? 
        }

Console.log输出detailExpand:

Object{
   Object detailRow{..}
   Object masterRow{..}
   Object sender{..}
}

从发件人处获取主数据源但在哪里获取详细数据源