Primefaces 当应用过滤器时,隐藏列不会很好地显示

Primefaces 当应用过滤器时,隐藏列不会很好地显示,primefaces,filter,datatable,Primefaces,Filter,Datatable,我有一个简单的primefaces过滤器数据表,其中一些列使用diplay none隐藏。一切都很好。当我应用一个不选择行的过滤器时,我过滤一些不存在的ID,这些列开始看起来很奇怪。隐藏列开始占用空间。我最近更新到primefaces 5.0 以下是一些屏幕截图: 编辑 我想我快到了。问题是,当生成emptyMessage时,它的colspan为包括隐藏列在内的所有列的65。这就是问题所在。如果我用firefox将colspan修改为5,效果会很好。有人知道primefaces是从哪里产生co

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

以下是一些屏幕截图:

编辑

我想我快到了。问题是,当生成emptyMessage时,它的colspan为包括隐藏列在内的所有列的65。这就是问题所在。如果我用firefox将colspan修改为5,效果会很好。有人知道primefaces是从哪里产生colspan的吗

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

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

</tr>

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

隐藏列不起作用。相反,尝试0px宽度。我创建了一个专门用于“隐藏”列的类。仅限出口

我还必须为其他浏览器的怪癖应用其他样式。这不是一个理想的解决方案,但确实有效

    .ui-datatable thead th.exportOnly, 
    .ui-datatable tbody td.exportOnly, 
    .ui-datatable tfoot td.exportOnly {
        width: 0px !important;
        visibility: collapse !important;
        padding: 0px;
    }

如下所示覆盖CSS类:

.ui-helper-hidden {
    width: 0px !important;
    display: table-cell !important;
}

这是一个解决办法,但对我来说很有效。

我目前正在研究这个问题。您找到解决此问题的方法了吗?请尝试PF 5.1和/或5.2-SNAPSHOT,看看是否存在差异