【发布时间】:2015-05-18 10:14:30
【问题描述】:
我正在使用单一选择模式处理数据表。我的问题是,当我刷新页面时,刷新之前相同的选定行保持刷新。 在这种情况下如何取消选择所有数据表行的任何想法。 感谢您帮助我解决这个问题。
这是我的数据表代码:
<p:dataTable id="cars1" var="car" widgetVar="carsTable" value="#{typePrimeManager.tprimes}" editable="false" style="margin-bottom:20px" paginator="false" selectionMode="single" selection="#{typePrimeManager.selectedtype}" rowKey="#{car.idPrime}">
<p:ajax event="rowSelect" update=":form:cars2" />
<p:ajax event="rowUnselect" listener="#{typePrimeManager.setSelectedtype(null)}" update=":form:cars2"/>
<p:ajax event="rowUnselect" listener="#{typePrimeManager.setSelectedtype(null)}" update=":form:cars2"/>
<p:column headerText="intitule des types">
<h:outputText value="#{car.intitulePrime}" />
</p:column>
</p:dataTable>
【问题讨论】:
-
您将托管 bean 与 SessionScoped 一起使用?这保持价值不变。为了在页面刷新时清理选定的行,您也需要重置 selectedtype。
-
没错,我使用的是 Scope("session")。但是如何重置所选类型?
-
我建议您阅读此内容:stackoverflow.com/questions/7031885/… 如果您想继续使用 SessionScope 并重置 selectedrow,您必须清除 bean 中的 selectedtype
-
谢谢。我真的很感激。
-
不客气。考虑验证答案并欢迎使用 stackoverflow :)
标签: jsf jakarta-ee primefaces