Đó là giải pháp đáng tin cậy nhất mà tôi đã tìm thấy. Và tôi đã tìm kiếm hàng giờ trước khi quyết định sử dụng một plugin jQuery. Trong phiên bản của plugin mà tôi đang sử dụng, chúng tôi có thể dán tiêu đề vào vùng chứa có thể cuộn. Hãy xem plunker này cho một trường hợp sử dụng với ng-bảng:
http://plnkr.co/edit/ypBaDHIfaJWapXVs3jcU?p=preview
Javascript
app.directive('fixedTableHeaders', ['$timeout', function($timeout) {
return {
restrict: 'A',
link: function(scope, element, attrs) {
$timeout(function() {
var container = element.parentsUntil(attrs.fixedTableHeaders);
element.stickyTableHeaders({ scrollableArea: container, "fixedOffset": 2 });
}, 0);
}
}
}]);
HTML
<div id="scrollable-area">
<table ng-table="tableParams" fixed-table-headers="scrollable-area">
<tr ng-repeat="user in $data">
<td data-title="'Name'">{{user.name}}</td>
<td data-title="'Age'">{{user.age}}</td>
</tr>
</table>
</div>
CSS
#scrollable-area {
height: 150px;
overflow-y: scroll; /* <-- here is what is important*/
}
table {
width: 100%;
}
thead {
background: #fff;
}
Nguồn
2014-11-06 21:16:31
Điều này dường như gắn đầu đề bảng vào đầu màn hình, nhưng không phải trường hợp bảng nằm trong phần tử có thể cuộn: http : //plnkr.co/edit/5wvfzNzWQfH4NNpgYdB9? p = preview – cfs
Có nhưng điều đó dường như là một hạn chế của plugin jquery của stickyTableHeaders. Xem vấn đề và tiềm năng sửa chữa ở đây: https://github.com/jmosbech/StickyTableHeaders/issues/1 – emp
Nó không hoạt động với accordian trên ng-bảng .. Xin vui lòng xem plunker cho vấn đề .. http://plnkr.co/edit/FGjU46cCMuhIdyacffHl? p = preview –