Angularjs 角度数据表v0.4.0中的行分组

Angularjs 角度数据表v0.4.0中的行分组,angularjs,datatable,Angularjs,Datatable,我试图在angular datable()的当前版本中使用行分组,但没有得到如何实现它的任何线索。我有一个json数据,其格式如下: vm.data=[ { 'groupName': 'Match 1', 'content':[{'id': 1, 'name': abc'}] } ] 这是html的外观: 我不知道接下来会发生什么。我在其他问题中发现,有一个建议使用event:dataTableLoaded on$scope,但似乎eventit在当前版本中不可

我试图在angular datable()的当前版本中使用行分组,但没有得到如何实现它的任何线索。我有一个json数据,其格式如下:

vm.data=[
   {
     'groupName': 'Match 1',
     'content':[{'id': 1, 'name': abc'}]
   }
]
这是html的外观:


我不知道接下来会发生什么。我在其他问题中发现,有一个建议使用event:dataTableLoaded on$scope,但似乎eventit在当前版本中不可用。有什么建议吗?

我没有使用过那个版本的datatables,但这对我来说很有用

   $scope.dtOptions = DTOptionsBuilder
   .fromFnPromise(reportService.getReportData($scope.reportInfo,
   $scope.model))
       .withPaginationType('full_numbers')
       .withOption('fnDrawCallback',
           function(oSettings) {
              var api = this.api();
              var rows = api.rows({ page: 'current' }).nodes();
              var last = null;
              api.column(0, { page: 'current' })
              .data()
              .each(function(group, i) {
              if (last !== group) {
                 $(rows)
                 .eq(i)
                 .before(
                 '<tr class="group"><td colspan="5">' + group + '</td></tr>');
                                    last = group;
                                }
                            });
                    })
$scope.dtOptions=DTOptionsBuilder
.fromfnomise(reportService.getReportData($scope.reportInfo,
$scope.model)
.withPaginationType('完整编号')
.withOption('fnDrawCallback',
功能(oSettings){
var api=this.api();
var rows=api.rows({page:'current'}).nodes();
var last=null;
列(0,{page:'current'})
.data()
.每个功能(组,i){
如果(最后!==组){
$(行)
.eq(i)
.以前(
''+组+'';
last=组;
}
});
})

只需在数据表中再添加一个withOption即可。columIndex将列的索引放在您要进行分组的位置。这是我在angular datatables v0.6.x中的工作

.withOption('fnDrawCallback', function (oSettings) {
    var api = this.api();
    var rows = api.rows( {page:'current'} ).nodes();
    var last=null;
    columIndex = 1
    api.column(columIndex, {page:'current'} ).data().each( function ( group, i ) {
        if ( last !== group ) { 
            colspan = Object.keys($scope.dtColumnPermission).length ; 
            $(rows).eq( i ).before(
                '<tr class="groupColumns"><td colspan="'+colspan+'">'+group+'</td></tr>'
            ); 
            last = group;
        }
    } );
})
.withOption('fnDrawCallback',函数(oSettings){
var api=this.api();
var rows=api.rows({page:'current'}).nodes();
var last=null;
columIndex=1
列(columIndex,{page:'current'}).data().each(函数(组,i){
如果(最后!==组){
colspan=Object.keys($scope.dtcolumnpowmission).length;
$(行).eq(i).之前(
''+组+''
); 
last=组;
}
} );
})

这对我使用角度数据表有效“^8.0.0”

抽回

this.dtOptions={
长度菜单:[5,10,15,25],
页长:5,
订购:错,
处理:对,
搜索:假,
drawCallback(设置){
console.log(“设置为”,设置为)
var api=this.api();
var rows=api.rows({page:'current'}).nodes();
log(“行是”,行);
var last=null;
常数指数=0;
列(columIndex,{page:'current'}).data().each(函数(组,i){
如果(最后!==组){
$(行).eq(i).之前(
“+”+组+”
);
last=组;
}
});
}
};
this.dtOptions = {
  lengthMenu: [5, 10, 15, 25],
  pageLength: 5,
  ordering: false,
  processing: true,
  searching: false,
  drawCallback(setting) {
    console.log("setting is  ", setting)
    var api = this.api();
    var rows = api.rows({ page: 'current' }).nodes();
    console.log("rows is ", rows);
    var last = null;
    const columIndex = 0;
    api.column(columIndex, { page: 'current' }).data().each(function (group, i) {
      if (last !== group) {

        $(rows).eq(i).before(
          '<tr style="color: crimson !important;background-color: blanchedalmond;" class="groupColumns"><td style="display: none;"></td><td>' + "        " + group + '</td><td></td></tr>'
        );
        last = group;
      }
    });

  }




};