2017-04-11 7 views
0

私はPrimeFaces 6.0を使用しています 私はrowexpansionでデータテーブルを作成しようとしていますが、私はrowtogglerを表示したくありません。行の選択時に展開されます。このため、私は私のコードに追加した:問題は、行が展開されたときに、行のサイズが縮小することであるprimefaces datatable rowexpansion with hidden column issue

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

$(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列は次のように隠されています。これは、rowtoggler列以外の隠し列が存在する場合にも発生します。それは拡大せずに、拡張して表示されますどのように次のとおりです。 before expansion after expansion

任意の回避策や説明が理解されます。

+0

ようこそ。正しく動作しないものを投稿する場合は、[mcve]を作成することをお勧めします。次に、あなたが使用しようとしているのとまったく同じコードを手助けしようとしている他の人。あなたの質問を改善してください。提案:列を隠すのではなく、列だけを隠すか、列を小さくして右の境界線などを隠すようにしてください。または行が開かれたときに実際にhtml/cssで何が変わるかを確認してください。 – Kukeltje

+0

ありがとうKukeltje。私はコラムを小さくしようとしましたが、できませんでした。それから、幅の設定だけでは十分ではないことに気付きました。パディングと境界をパディングと一緒に設定すると、私の問題が解決しました。 \t \t \t \t \t \t \t \t \t – tikeman

答えて

0

問題は回避策で解決されています。 のようにcolumnプロパティをdisplay:noneに設定する代わりに、0のサイズを設定して非表示にしているようです。

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

ただ更新されましたが、列の可視性をfalseに設定できるようになりました。

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