【问题标题】:Enable - disable button in a p:datatable primefaces / jsf启用 - 禁用 p:datatable primefaces / jsf 中的按钮
【发布时间】:2014-10-26 02:21:26
【问题描述】:

我有一个带有人员列表的<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 与非活动?

【问题讨论】:

    标签: jsf primefaces datatable


    【解决方案1】:

    您可以通过在同一列中使用两个具有相反或不同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"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-14
      • 2019-05-24
      • 2014-01-22
      • 2020-06-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多