复选框不会更新表中的渲染值

时间:2013-04-11 20:20:24

标签: jsf richfaces

所以这是它的瘦身。我的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>

1 个答案:

答案 0 :(得分:0)

您还必须更新catalogview才能呈现表格中的组件。另外,请确保您的<rich:dataTable>位于<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>