即使启用了单选模式,也会在P:DataTable中选择多行

时间:2015-04-15 07:38:31

标签: jsf primefaces datatable selection ejb-3.0

我有一个JSF-EJB应用程序,我在单选模式下使用。 Datatable是用户单击“保存”按钮时出现的Dialog的一部分。第一次,在DataTable中没有选择任何行是正确的。现在当用户选择一行时。并关闭此对话框。然后再次打开此对话框。 DataTable中的两个行都被选中。

以下是使用的代码。 请帮忙。

XHTML:     

                    <p:dataTable var="address" id="confirmDataTable"
                        value="#{householdHomeAddressBean.normalizedAddressList}"
                        selection="#{householdHomeAddressBean.selectedAddress}"
                        rowKey="#{address.id}" styleClass="confirmAddTable">
                        <p:column selectionMode="single"
                            style="width:40px;text-align:center" id="radioCol">
    </p:column>
                        <p:column >
                        <p:outputLabel value="#{address.message}"/>
                        </p:column>
                        <p:column headerText="Street Address" id="headerStreet">
                            <p:outputLabel value="#{address.addrLine1}" />  <p:outputLabel value="#{address.addrLine2}" />,

                        </p:column>
                        <p:column headerText="County" id="headerCounty">
                            <p:outputLabel value="#{address.countyName}" />
                        </p:column>

                    </p:dataTable>

                    <p:commandButton styleClass="fl-right btn" value="OK" process="@form" validateClient="true" update="@form"
                        action="#{householdHomeAddressBean.saveAddress}">

                    </p:commandButton>
                    <p:commandButton styleClass="fl-left btn" value="Cancel"
                        onclick="PF('addressDialog').hide();"></p:commandButton>
                </p:dialog>

在Managed Bean中:

public void saveAddress() {
    context = RequestContext.getCurrentInstance();
    context.execute("PF('addressDialog').hide();");

// *******************持久性代码************** ///////// //
    }

请让我知道我做错了什么。

1 个答案:

答案 0 :(得分:0)

此问题已得到解决。我只是设置selectedAddress = null;它完美无缺:)