通过支持bean无法正常工作的数据表行选择单一设置

时间:2014-07-07 12:16:57

标签: java primefaces

我使用Prime face 3.5数据表,选择模式为单一,数据表显示编辑组中的域列表,而加载主域的页面应在数据表中选择此设置通过支持豆。 但问题是选择不正常。例如,如果我第一次单击编辑组,主要选择将被选中,然后关闭对话框,然后再次编辑同一组,则不会选择行选择。

        <p:dataTable id="dialog_DomainList"
            value="#{domainGrpDetailBean.domainAliasVOModel}" var="v"
            rowKey="#{v.domainId}" selection="#{domainGrpDetailBean.selectedPrimaryDomain}"
        scrollable="#{domainGrpDetailBean.domainScrollFlag}"
        scrollRows="5" scrollHeight="70" editable="true"
        editingRow="#{v.newAdded}" resizableColumns="true">

        <p:ajax event="rowEdit"
                listener="#{domainGrpDetailBean.onEditDomainAlias}"
                oncomplete="updateDomainAliasTable();"
                update=":group_DialogForm:msgs" />
        <p:column headerText="#{msg['domaingroup.datatabel.header.ids']}"
            width="10%">
            <h:outputText value="#{v.domainId}"
             rendered="#{v.domainId gt -1}" />
        </p:column>
        <p:column
                headerText="#{msg['domaingroup.datatabel.header.primary']}"
                selectionMode="single" width="10%">
        </p:column>
        <p:column
                headerText="#{msg['domaingroup.datatabel.header.domainstatus']}"
                width="20%">
            <p:cellEditor>
                    <f:facet name="output">
                            <h:outputText value="#{v.statusString}" />
                    </f:facet>
        <f:facet name="input">
            <p:selectOneMenu value="#{v.status}"
                        style="width:98%; text-align:left">
            <f:selectItems
                        value="#{domainGrpDetailBean.domainStatusList}"
                var="status" itemLabel="#{status}" itemValue="#{status}" />
            </p:selectOneMenu>
        </f:facet>
        </p:cellEditor>
        </p:column>
     </p:dataTable>  

如何通过支持bean设置所选行设置?

1 个答案:

答案 0 :(得分:1)

您可以使用以下代码强制执行此操作:

<p:dataTable ...>
    <p:ajax event="rowSelectCheckbox" process="@this"/>
    <p:ajax event="rowUnselectCheckbox" process="@this"/>