我有一个简单的primefaces过滤数据表,其中隐藏了一些列(使用diplay none)。一切都很棒。当我应用一个不选择行的过滤器(我过滤一些不存在的ID)时,列开始看起来很奇怪。隐藏的列开始占用空间。我最近更新到primefaces 5.0
以下是一些截图:
修改
我想我越来越近了。问题在于,当生成emptyMessage时,它的colspan总数为65(包括隐藏的列)。那就是问题所在。如果我用firefox修改colspan到5它很棒。任何人都知道哪个曲面会产生那个colspan?
<tr class="ui-widget-content ui-datatable-empty-message">
<td colspan="65"></td>
</tr>
那是我需要编辑的那个。我正在研究primefaces源代码以尝试修复它。
答案 0 :(得分:0)
隐藏列不起作用。而是尝试0px宽度。我创建了一个专门用于&#39;隐藏&#39;列。 exportOnly
我还必须为其他浏览器怪癖应用其他风格。不是一个理想的解决方案,但可以解决问题。
.ui-datatable thead th.exportOnly,
.ui-datatable tbody td.exportOnly,
.ui-datatable tfoot td.exportOnly {
width: 0px !important;
visibility: collapse !important;
padding: 0px;
}
答案 1 :(得分:0)
像这样覆盖CSS类:
.ui-helper-hidden {
width: 0px !important;
display: table-cell !important;
}
这是一种解决方法,但它对我有用。