我使用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设置所选行设置?
答案 0 :(得分:1)
您可以使用以下代码强制执行此操作:
<p:dataTable ...>
<p:ajax event="rowSelectCheckbox" process="@this"/>
<p:ajax event="rowUnselectCheckbox" process="@this"/>