在Primefaces数据表中,我想有条件地在某个列中插入图标。
此列具有两个值:1或0,如果为1,则使用复选图标;如果为0,则使用关闭图标。
我已经尝试过使用“ rendered”,“ style”和styleClass,但它对我不起作用。要么输出读取的值,要么不呈现任何内容(该列为空)。
有什么办法吗?
我传递了一部分代码:
<p:column headerText="Vota" width="30" filterBy="#{vot.estado}">
<h:outputText value="#{vot.estado}" style="float:right #{vot.estado == 1 ? 'ui-icon-check' : 'ui-icon-close'}"/>
</p:column>
答案 0 :(得分:2)
<p:column headerText="Vota" width="30" filterBy="#{vot.estado}>
<h:outputText value="#{vot.estado}"/>
<i class="ui-icon #{vot.estado == 1 ? 'ui-icon-check' : 'ui-icon-close'}" style="display: inline-block"/>
</p:column>
答案 1 :(得分:2)
您在style属性中具有图标信息,而应该在styleClass属性中,并且还需要通用的ui-icon类。因此,请将代码更改为以下内容以使其起作用
select STUFF((SELECT ',' + convert(varchar(10), rr1._cv_id)
FROM #reportrows rr1
WHERE rr1._c_id=rr._c_id
FOR XML PATH('')),1, 1,null) FROM #reportrows rr
答案 2 :(得分:1)
您可以对outputText本身使用rendered
属性,如下所示:
<p:column headerText="Vota" width="30" filterBy="#{vot.estado}">
<h:outputText rendered="#{vot.estado == 1}" value="#{vot.estado}" style="float:right" styleClass="ui-icon-check"/>
<h:outputText rendered="#{vot.estado != 1}" value="#{vot.estado}" style="float:right" styleClass="ui-icon-close"/>
</p:column>