2015-05-24 14 views
6

Có cách nào tốt hơn để hiển thị các bảng lồng nhau trong các bảng dữ liệu góc không? tôi giải quyết vấn đề của tôi bằng cách sử dụng rowCallback và thiết lập sự kiện click:Các bảng dữ liệu góc có thể vẽ các hàng được hiển thị

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

và trong một handler nhấp chuột tôi nhận được dt sơ thẩm và xây dựng html sử dụng dữ liệu từ hàng dụ bảng dữ liệu.

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'); 
     } 
    }); 
} 

Nhưng nó cảm thấy một chút lạ kỳ lạ đặc biệt là góc cạnh. Dưới đây là Plunker với mã đơn giản hóa đầy đủ http://plnkr.co/edit/gVf926obJKTXvXU7fLdA?p=preview

Trả lời

0

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

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

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

Các vấn đề liên quan