Jsf 渲染列取决于行渲染
我有这样一个数据表:Jsf 渲染列取决于行渲染,jsf,tablecolumn,conditional-rendering,Jsf,Tablecolumn,Conditional Rendering,我有这样一个数据表: <h:dataTable value="#{myList}" var="myVariable" > <h:column> <f:facet name="header"/> <h:graphicImage style="display:block; margin:0px auto" value="imageURL" rendered="#{condition}"/> </h:column>
<h:dataTable value="#{myList}" var="myVariable" >
<h:column>
<f:facet name="header"/>
<h:graphicImage style="display:block; margin:0px auto" value="imageURL" rendered="#{condition}"/>
</h:column>
<h:column>
<f:facet name="header">
Attribute1
</f:facet>
<h:outputText style="display:block; text-align:center" value="#{myVariable.attribute1}" />
</h:column>
<h:column>
<f:facet name="header">
Attribute2
</f:facet>
<h:outputText style="display:block; text-align:center" value="#{myVariable.attribute2}" />
</h:column>
<h:column>
<f:facet name="header">
Attribute3
</f:facet>
<h:outputText style="display:block; text-align:center" value="#{myVariable.attribute3}" />
</h:column>
</h:dataTable>
属性1
属性2
属性3
如您所见,我有多个列显示变量的所有属性,如果满足条件,则在一个列中显示一个图像
但是,如果不满足该条件,则会给我们提供一个表,其中包含一个空列,我不希望显示该列
当所有行中都没有显示图像时,有没有办法隐藏该列?您正在使用插件?@Roshana:Nope。OP正在使用JSF。@卡洛斯:在问JSF问题时,请不要使用[java]标记。Java SE用户显然不能理解和回答JSF问题。只要坚持使用[jsf]作为主标记,就可以在bean中运行数据并确定是否显示图像。将其存储在布尔值中(如图所示)。然后
@MitchBroadhead我想了想,但这是另一个循环,通过所有的数据。。。如果有10行这不是问题,但是如果有1M行呢。。。