多くのコンテンツを含む dataTable を取得します。行ごとに、最後の列に iFrame-Link を取得します。これらのリンクに基づいて、ページの読み込みに多くの時間がかかります。
ここで、この列を非表示にして、読み込みを高速化します。ユーザーは、ボタンを使用して列を表示できる必要があります。しかし、どうすればそれを認識できますか?コラムの内容は次のとおりです。
<p:commandButton value="Show book">
<f:setPropertyActionListener value="true" target="#{rollCommunityBean.renderPhoneColumn}" />
</p:commandButton>
<p:column exportable="false" rendered="#{rollCommunityBean.renderPhoneColumn}">
<f:facet name="header">
<h:outputText value="Link" />
</f:facet>
<p:lightBox iframe="true" width="750pt" height="650pt">
<h:outputLink rendered="#{member.username.length() > 0}" value="url" title="#{member.username} - #{member.name} #{member.vorname}">
<h:outputText icon="ui-icon-person" value="Telefonbuch" />
</h:outputLink>
</p:lightBox>
</p:column>
RollCommunityBean
public class RollCommunityBean {
/*
* All rendering Booleans
*/
// For the Phonebook iFrame Column
private boolean renderPhoneColumn;
/*
* All Getter and Setter for the rendering Booleans
*/
public boolean getRenderPhoneColumn() {
return renderPhoneColumn;
}
public void setRenderPhoneColumn(boolean renderPhoneColumn) {
this.renderPhoneColumn = renderPhoneColumn;
}
}