Angular数据表嵌套行呈现

时间:2015-05-24 19:26:14

标签: angularjs datatables

有没有更好的方法在angular-datatables中显示嵌套表? 我通过使用rowCallback并设置click事件解决了我的问题:

$scope.dtOptions = DTOptionsBuilder.fromSource('data.json')
    .withOption('rowCallback', rowCallback)

在单击处理程序中,我获取dt-instance并使用数据表实例中的行数据构建html。

function rowCallback(tabRow, data, dataIndex) {
    $(tabRow).unbind('click');
    $(tabRow).on('click', function () {
        console.log('click');
        $(this).find('.a1-icon').toggleClass('fa-rotate-180');
        var tr = $(tabRow);
        var table = $scope.dtInstance.DataTable;
        var row = table.row(tr);

        if ( row.child.isShown() ) {
            // This row is already open - close it
            row.child.hide();
            tr.removeClass('shown');
        }
        else {
            // Open this row
            row.child( format(row.data()) ).show();
            tr.addClass('shown');
        }
    });
}

但感觉有点奇怪,特别是角度。这是Plunker的完整简化代码http://plnkr.co/edit/gVf926obJKTXvXU7fLdA?p=preview

1 个答案:

答案 0 :(得分:0)

 $(tabRow).on('click', function () {})

//instead of this "on" event Use "load"

 $(tabRow).load('click', function () {})