应用过滤器时隐藏的列不显示

时间:2014-10-22 17:44:53

标签: primefaces filter datatable

我有一个简单的primefaces过滤数据表,其中隐藏了一些列(使用diplay none)。一切都很棒。当我应用一个不选择行的过滤器(我过滤一些不存在的ID)时,列开始看起来很奇怪。隐藏的列开始占用空间。我最近更新到primefaces 5.0

以下是一些截图: enter image description here

enter image description here

修改

我想我越来越近了。问题在于,当生成emptyMessage时,它的colspan总数为65(包括隐藏的列)。那就是问题所在。如果我用firefox修改colspan到5它很棒。任何人都知道哪个曲面会产生那个colspan?

<tr class="ui-widget-content ui-datatable-empty-message">

<td colspan="65"></td>

</tr>

那是我需要编辑的那个。我正在研究primefaces源代码以尝试修复它。

2 个答案:

答案 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;
}

这是一种解决方法,但它对我有用。