gpt4 book ai didi

jsf - 在 Primefaces 表行选择的基础上动态启用/禁用命令按钮

转载 作者:行者123 更新时间:2023-12-04 14:05:13 27 4
gpt4 key购买 nike

有没有办法在表格行选择的基础上动态启用/禁用命令按钮?

在下一个示例中,我只想在选中任何行时启用“deleteBtn”:

<p:dataTable
var="department" value="#{departmentCtrl.departmentTable}"
selection="#{departmentCtrl.departmentList}">

<p:column selectionMode="multiple" styleClass="w18" />

<p:column headerText="#{msgs.id}" sortBy="#{department.id}">
<h:outputText value="#{department.id}" />
</p:column>

<p:column headerText="#{msgs.name}" sortBy="#{department.name}">
<h:outputText value="#{department.name}" />
</p:column>
</p:dataTable>

<p:commandButton id="deleteBtn" value="#{msgs.delete}" disabled="???" />

谢谢

最佳答案

  1. 您应该在每次选择或取消选择事件时更新您的按钮发生。
  2. departmentList 为空时,您应该禁用它。

    <p:dataTable var="department" 

    value="#{departmentCtrl.departmentTable}"

    selection="#{departmentCtrl.departmentList}">

    <p:ajax event="rowSelect" update="deleteBtn"/>
    <p:ajax event="rowUnselect" update="deleteBtn"/>

    <p:column selectionMode="multiple" styleClass="w18" />

    <p:column headerText="#{msgs.id}" sortBy="#{department.id}">
    <h:outputText value="#{department.id}" />
    </p:column>

    <p:column headerText="#{msgs.name}" sortBy="#{department.name}">
    <h:outputText value="#{department.name}" />
    </p:column>

    </p:dataTable>

    <p:commandButton id="deleteBtn" value="#{msgs.delete}"
    disabled="#{fn:length(departmentCtrl.departmentList) == 0}" />

顺便说一句,不要忘记将 fn 命名空间添加到您的 facelets 文件中。

关于jsf - 在 Primefaces 表行选择的基础上动态启用/禁用命令按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11610600/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com