开发者

Dropdown's valueChangeListener not working with primefaces datatable

I have datatable and a dropdown within a xhtml. If I am deleting p:datatable code within this page then I am able to call the valueChangeListener of dropdown , but if p:datatable is present in xhtml, then I am not able to call it.

Xhtml code is

<ui:define name="content">
    <f:view>
        <h:form id="accountSummaryForm" prependId="false">
            <h:selectBooleanCheckbox id="checkbox" value="true" />
            <h:outputLabel value="Show certificates preview on sumit"></h:outputLabel>
            <h:outputLabel value="Show certificates preview on sumit"></h:outputLabel>
            <h:outputText align="left"
                value="Value is #{reqSummaryHandler.certNumber}" />
            <p:dataTable id="reqActList" paginatorAlwaysVisible="true"
                var="reqInfo" value="#{reqSummaryHandler.certActListModel}"
                paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                paginator="true" rows="#{label.accountList_defaultNumberOfRows}"
                selectionMode="single"
                rowsPerPageTemplate="#{label.accountList_numberOfRows}" width="60%">
                <p:column style="text-align:center;" filterBy="" sortBy=""
                    width="5%">
                    <f:facet name="header">
                        <h:outputLabel value="#{label.certNumber}" />
                    </f:facet>
                    <h:outputText align="left" value="#{reqInfo.certNumber}" />
                </p:column>
                <p:column style="text-align:center;" filterBy="" sortBy=""
                    width="5%">
                    <f:facet name="header">
                        <h:outputLabel value="Version" />
                    </f:facet>
                    <h:outputText align="left" value="#{reqInfo.certVersionNbrString}" />
                </p:column>
                <p:column style="text-align:center;" filterBy="" sortBy=""
                    width="5%">
                    <f:facet name="header">
                        <h:outputLabel value="Insured" />
                    </f:facet>
                    <ui:repeat value="#{reqInfo.clientList}" var="insuredInfo">
                        <h:outputText align="left"
                            value="#{insuredInfo.generalPartyInfo.nameInfo.commName.commercialName}" />
                    </ui:repeat>
                </p:column>
                <p:column style="text-align:center;" filterBy="" sortBy=""
                    width="5%">
                    <f:facet name="header">
                        <h:outputLabel value="Certificate Holder" />
                    </f:facet>
                    <ui:repeat value="#{reqInfo.certificateHolderInfoList}"
                        var="certHoldInfo">
                        <h:outputText align="left"
                            value="#{certHoldInfo.additionalInterest.generalPartyInfo.nameInfo.commName.commercialName}" />
                    </ui:repeat>
                </p:column>
                <p:column style="text-align:center;" filterBy="" sortBy=""
                    width="5%">
                    <f:facet name="header">
                        <h:outputLabel value="Activity Performed" />
     开发者_如何学Go               </f:facet>
                    <h:outputText align="left" value="#{reqInfo.effectiveTypeCd}" />
                </p:column>
                <p:column style="text-align:center;" filterBy="" sortBy=""
                    width="5%">
                    <f:facet name="header">
                        <h:outputLabel value="Certificate Status" />
                    </f:facet>
                    <h:outputText align="left" value="#{reqInfo.statusCd}" />
                </p:column>
                <p:column style="text-align:center;" filterBy="" sortBy=""
                    width="5%">
                    <f:facet name="header">
                        <h:outputLabel value="Third Party" />
                    </f:facet>
                    <h:outputText align="left"
                        value="#{reqInfo.certWordingEndorsementInd}" />
                </p:column>
                <p:column style="text-align:center;" filterBy="" sortBy=""
                    width="5%">
                    <f:facet name="header">
                        <h:outputLabel value="Manual Form" />
                    </f:facet>
                    <h:outputText align="left" value="#{reqInfo.manualEntryInd}" />
                </p:column>
                <p:column style="text-align:center;" filterBy="" sortBy=""
                    width="5%">
                    <f:facet name="header">
                        <h:outputLabel value="Manual Addendum" />
                    </f:facet>
                    <h:outputText align="left" value="#{reqInfo.mnlAddendumInd}" />
                </p:column>
                <p:column style="text-align:center;" filterBy="" sortBy=""
                    width="5%">
                    <f:facet name="header">
                        <h:outputLabel value="Path" />
                    </f:facet>

                    <p:cellEditor>
                        <f:facet name="output">
                            <h:outputText align="left" value="#{reqInfo.routePathCd}"
                                readonly="true" />
                        </f:facet>
                        <f:facet name="input">
                            <h:selectOneMenu value="#{reqInfo.routePathCd}">
                                <f:selectItem itemLabel="Issue  Distribute" itemValue="A" />
                                <f:selectItem itemLabel="Send to Underwriter" itemValue="B" />
                                <f:selectItem itemLabel="Issue  Do Not Distribute"
                                    itemValue="C" />
                            </h:selectOneMenu>
                        </f:facet>
                    </p:cellEditor>
                    <p:rowEditor rendered="#{reqInfo.statusCd eq 'A'}" />
                </p:column>
                <p:column style="text-align:center;white-space: normal;nowrap">
                    <f:facet name="header">
                        <h:outputLabel value="Action" />
                    </f:facet>
                    <ui:repeat value="#{reqInfo.availableFunctions.functionNameArray}"
                        var="linkInfo">
                        <p:commandLink id="View" value="#{linkInfo}" ajax="false" />
                        <br />
                    </ui:repeat>
                </p:column>
            </p:dataTable>
            <p:spacer width="50" height="0"></p:spacer>
            <p:spacer width="50" height="0"></p:spacer>
            <p:spacer width="3" height="0"></p:spacer>
            <p:spacer width="3" height="0"></p:spacer>
            <p:spacer width="3" height="0"></p:spacer>
            <p:spacer width="3" height="0"></p:spacer>
            <p:spacer width="3" height="0"></p:spacer>
            <p:spacer width="3" height="0"></p:spacer>
            <h:outputLabel value="Assign Path" style="font-weight:bold" />
            <p:spacer width="5" height="10" />
            <h:selectOneMenu id="dropdown2"
                valueChangeListener="#{reqSummaryHandler.DoPathProcessing1}"
                value="#{reqSummaryHandler.certNumber}" onchange="submit();">
                <f:selectItem itemLabel="Issue  Distribute" itemValue="A" />
                <f:selectItem itemLabel="Send to Underwriter" itemValue="B" />
                <f:selectItem itemLabel="Issue  Do Not Distribute" itemValue="C" />
            </h:selectOneMenu>
        </h:form>
    </f:view>
</ui:define>

And listener code is

    public void DoPathProcessing1(ValueChangeEvent event) {
    String newValue = (String) event.getNewValue();
    System.out.println("Path"
            + certActListModel.getRowData().getRoutePathCd());
    certActListModel.getRowData().setRoutePathCd(newValue);

    System.out.println("value is " + newValue);
}

Any idea why it is not working?

I am using jsf-api-2.0.3 and primefaces-2.2.1


You are using both the value and the valueChangeListener attributes of the drop down component. Why would you do this?

Just having value="#{reqSummaryHandler.certNumber} will call setCertNumber(String certNumber) in your managed bean. Why not just put this code into the setter method?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜