我有一个包含人员列表的<p:datatable>,每一行都有一个用于启用/禁用人员的按钮。此按钮仅具有更改用户状态(活动/非活动)的功能。为了向用户展示,我有一个这样的:
<h:outputLabel value="Status" />
<h:selectOneMenu value="#{pessoaBean.ativo}">
<f:selectItem itemLabel="Todos" itemValue="-1" />
<f:selectItem itemLabel="Ativo" itemValue="1" />
<f:selectItem itemLabel="Inativo" itemValue="0" />
</h:selectOneMenu>这允许我只显示活动用户,或者不显示活动用户。这工作得很好。我的问题是,当我有一个人的活动列表时,我希望有一个按钮A,而当一个人不活动时,我想显示按钮B。每个按钮(A和B)都有改变用户状态的功能,但显然有一个按钮改变为活动的不活动的和相反的。
我的p:datatable如下:
<p:dataTable value="#{pessoaBean.pessoas}" var="pes" id="tabelaUsuarios"
paginator="true" rows="10" emptyMessage="Nenhum registro encontrado"
sortOrder="acending" selectionMode="single" rowKey="#{pes.cdPessoa}"
rendered="#{pessoaBean.pessoas != null}"
paginatorPosition="bottom" scrollable="false">
<p:column headerText="Nome">
#{pes.nmPessoa}
</p:column>
<p:column headerText="Email" >
#{pes.email}
</p:column>
<p:column headerText="Status">
#{pes.flAtivo}
</p:column>
<p:column>
<h:commandButton action="#{pessoaBean.bloquear}" value="Bloquear"
class="btn btn-default" >
<f:param value="#{pes.cdPessoa}" name="id" />
</h:commandButton>
</p:column>
</p:dataTable>有人知道我怎样才能得到这个结果吗?只显示活动人员的按钮A和非活动的按钮B吗?
发布于 2014-10-27 16:15:04
您可以通过在同一列中有两个具有相反或不同rendered属性的按钮来实现这一点。如果"Bloquear“是你所指的按钮,它应该是这样的:
<p:column>
<h:commandButton action="#{pessoaBean.bloquear}" value="Bloquear"
rendered="#{pes.flAtivo eq 1}" class="btn btn-default">
<f:param value="#{pes.cdPessoa}" name="id" />
</h:commandButton>
<h:commandButton action="#{pessoaBean.desbloquear}" value="Desbloquear"
rendered="#{pes.flAtivo eq 0}" class="btn btn-default" >
<f:param value="#{pes.cdPessoa}" name="id" />
</h:commandButton>
</p:column> 顺便说一下,你有一个拼写错误,它应该是sortOrder="ascending"
https://stackoverflow.com/questions/26569193
复制相似问题