带有隐藏列问题的 primefaces 数据表行扩展

primefaces datatable rowexpansion with hidden column issue

我正在使用 PrimeFaces 6.0 我的目标是使用 rowexpansion 创建一个数据 table,但我不想显示 rowtoggler。扩展将发生在行选择上。为此,我在我的代码中添加了:

$(document).ready(function() {
      rowExpansion(PF('carDataTable'));
   });

function rowExpansion(dataTable) {
      //dataTable should be the widgetVar object
      var $this = dataTable;
      $this.tbody.off('click.datatable-expansion', '> tr')
         .on('click.datatable-expansion', '> tr', null, function() {
            //toggle the current row the old toggler
            $this.toggleExpansion($(this).find('div.ui-row-toggler'));
          });
}

Rowtoggler 列隐藏为:

<p:column style="display:none">
    <p:rowToggler />
</p:column>

问题是当行被扩展时,行的大小会缩小。当存在除 rowtoggler 列以外的任何隐藏列时,也会发生这种情况。不展开和展开的情况如下: before expansion after expansion

任何解决方法或解释表示赞赏。

问题已通过解决方法解决。 与其将列 属性 设置为 display:none,不如通过设置 0 大小来隐藏它。

<p:column style="width:0px;height:0px;padding:0px;border:0px">
    <p:rowToggler />
</p:column>

只是一个更新,但现在您可以将列可见性设置为 false。

<p:column visible="false">
  <p:rowToggler/>
</p:column>