我使用的是Prime faces 3.5数据表,选择模式为单一,数据表显示编辑组中的域列表,而加载主域的页面应在数据表中选择,此设置是通过支持bean完成的。 但问题是选择不能正常工作。例如,如果我第一次单击编辑组,则选择主要选择,然后关闭对话框,然后再次编辑同一组,则不会选择行选择。
<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 设置选定的行设置?
最佳答案
您可以使用如下代码强制执行此操作:
<p:dataTable ...>
<p:ajax event="rowSelectCheckbox" process="@this"/>
<p:ajax event="rowUnselectCheckbox" process="@this"/>
关于java - 通过支持 bean 的数据表行选择单一设置无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24610427/