2014-02-28 19 views
0

我认为这可能很简单,但我需要指向正确的方向。Kendo层次结构网格 - 在选择主行时获得子行数

我有一个主/子网格,我只是希望能够在选择(或各种其他操作,例如保存或编辑)主行时获得子行数。

谢谢

+0

代码,请...? – iappwebdev

+0

没有代码,因为这是一个普遍的问题。代码将按照Kendo的基本层次结构[网格演示](http://demos.telerik.com/kendo-ui/web/grid/hierarchy.html)。我想知道如何在主网格的“变化”事件中获得儿童记录数。 – Mat

+0

我想jQuery是允许的!? – iappwebdev

回答

0

我创建了一个小提琴并演奏了一下。它并不总是有效的,例如当你还没有得到细节网格或第一次打开细节行时,它应该给你一个关于如何获得分层网格的好处的想法。

小提琴:http://jsfiddle.net/9BGpr/

打开控制台来获取输出。

主要代码是在这里:

selectable: 'row', 
    change: function (e) { 
     var kendoGrid = this; 
     setTimeout(function() { 
      console.log("e", e) 
      var $selectedRow = kendoGrid.select(); 
      if ($selectedRow.length != 1) { 
       console.log("Please select a single row!"); 
       return false; 
      } 
      if ($selectedRow.hasClass('k-master-row')) { 
       var $detailRow = $selectedRow.next().filter('.k-detail-row'); 

       if ($detailRow.length === 0) { 
        console.log("Could not find detail row!"); 
        return false; 
       } 

       var $detailGrid = $detailRow.find('.k-grid'); 

       if ($detailGrid.length === 0) { 
        console.log("Could not find grid in detail row!"); 
        return false; 
       } 

       var kendoGridDetails = $detailGrid.getKendoGrid(); 

       console.log("Total of records in detail grid: " + kendoGridDetails.dataSource.total()); 
      } 
     }); 
+0

是的。看起来它会为我所需要的(我认为)工作。谢谢。 – Mat

相关问题