0

所以这是它的瘦身。我的 selectOneMenu 上有一个渲染标签。我已经以各种方式尝试过,最后一个使用“@form”更新布尔复选框中的表单。我完全没有想法,已经工作了几天。我错过了什么,所以我可以根据复选框的选择来渲染/取消渲染?谢谢。

<rich:dataTable id="catalogview"  width="100%"  style="width: 100% !important"
    columnClasses="lcolumnCatalog,columnCatalog,columnCatalog,columnCatalog,columnCatalog,columnCatalog,columnCatalog,columnCatalog,columnCatalog,columnCatalog,columnCatalog,columnCatalog,columnCatalog,columnCatalog,columnCatalog,columnCatalog,columnCatalog,columnCatalog" 
    value="#{pcnAlerts.notifications}" var="pcn" rows="20"
    headerClass="headerCatalog" styleClass="table1" footerClass="footer_td" >
    <h:column>
        <h:selectBooleanCheckbox value="#{pcn.checked}" update="@form" >
            <f:ajax listener="#{pcnAlerts.selectItem}" render=":popupForm:popupPanelContents" />
        </h:selectBooleanCheckbox>
    </h:column>
    <h:column>
        <f:facet name="header">                             
            <h:outputText value="Status" />
        </f:facet>
        <h:outputText value="#{pcn.status}" />
        <h:selectOneMenu id="StatusMenu" value="#{pcnAlerts.newStatus}" rendered="#{pcn.checked}">
            <a4j:ajax update="StatusMenu"  listener="#{pcnAlerts.saveStatus()}" />
            <f:selectItem itemValue="" itemLabel="New" />
            <f:selectItem itemValue="Pending" itemLabel="Pending" />
            <f:selectItem itemValue="Complete" itemLabel="Complete" />
            <f:selectItem itemValue="Archive" itemLabel="Archive" />
            <f:selectItem itemValue="Disregard" itemLabel="Disregard" />
        </h:selectOneMenu>
    </h:column>
</rich:dataTable>
4

1 回答 1

0

您还必须更新catalogview才能在表格中呈现组件。另外,请确保您<rich:dataTable>在 a 内<h:form>

<h:form id="frmCatalog">
    <rich:dataTable id="catalogview" value="#{pcnAlerts.notifications}" var="pcn">
        <h:column>
            <h:selectBooleanCheckbox value="#{pcn.checked}">
                <f:ajax listener="#{pcnAlerts.selectItem}"
                    render=":popupForm:popupPanelContents :frmCatalog:catalogview" />
            </h:selectBooleanCheckbox>
        </h:column>
    </rich:dataTable>
</h:form>
于 2013-04-11T20:31:08.063 回答