我遇到了一些我想要实现的功能:
这些甚至可能吗?因为我尝试了几个不确定的解决方案=(
如果我将表头与表格分开,则会使列标题的宽度变得混乱。
.test {
overflow-x: visible;
overflow-y: auto;
}
如果您对overflow-x或overflow-y使用可见,而对另一个使用不可见。可见值被解释为自动。
这些不起作用:
编辑@ Merijn DK:
<!-- html -->
<table class="table table-striped table-bordered">
<thead>
<tr>
<th ng-repeat="column in columns" ng-show="column.show" ng-style="column.style">
{{ column.label }}
</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="item in results">
<td ng-repeat="column in columns" ng-show="column.show" ng-style="column.style" ng-bind-html="item.data | unsafe">
</td>
</tr>
</tbody>
</table>
//Javascript
.filter('unsafe', function($sce, $rootScope) {
return function(html) {
return $sce.trustAsHtml(html);
};
});
答案 0 :(得分:3)
刚刚找到了一个很好的插件,允许以各种方式浮动或固定theads。 Just look at the awesome demos here
现在你需要以角度来实现它。我做了一个非常快速和不完美的指令,可以改进很多:(已经由@spades本人改进,THX因为太棒了!)
plunker.directive('thead', function() {
return {
restrict: 'A',
scope: {
ngModel: '='
},
link: function(scope, elem) {
window.onscroll = function() {
elem.floatThead({
scrollingTop: 45,
});
elem.floatThead('reflow');
}
}
};
})
您可以在此处添加各种选项以试用它们:
elem.floatThead(additionaloptions);
只需添加你的html指令:
<table thead>
<thead>
<tr>
<th>a</th>
<th>b</th>
<th>c</th>
<th>d</th>
</tr>
</thead>
<tbody>
<tr>
<td>111</td>
<td>111</td>
<td>111</td>
<td>111</td>
</tr> ...
找到一个完整的plunker(带窗口滚动示例)here(当然这也可能发生在容器中,只需查看floatThead主页)
请注意,您应该在新窗口中打开预览(右上角的蓝色x)并调整其高度,直到显示滚动条。