我已经在jsf + icefaces中创建了selectALL复选框功能。我已经实现了功能,比如当我检查selectAll复选框时,它将选中所有页面上的所有复选框。但是当我做分页,如果我做了检查/取消选中选择所有复选框,那么它只为该网页的作品不acorss所有的网页。我的意思是行复选框的状态不一致。我试图PhaseListener在解决这一点,但没有运气..任何人都可以提出我的解决方案..如何刷新分页后的jsf页面
我的代码:JSF
<ace:column id="checkBox">
<f:facet name="header">
<h:outputLabel>
<ice:selectBooleanCheckbox id="selectAllID"
value="#{shipBean.checkAll}"
valueChangeListener="#{shipBean.getCheck}"
partialSubmit="true" />
</h:outputLabel>
</f:facet>
<ice:selectBooleanCheckbox id="selectOne"
value="#{freight.checkBox}">
的java:
if (shipTrackingData != null) {
if (shipTrackingData.getCheckAll()) {
for (ShipTrackBean check : shipTrackingData
.getShipTrackList()) {
check.setCheckBox(true);
}
} else {
for (ShipTrackBean check : shipTrackingData
.getShipTrackList()) {
check.setCheckBox(false);
}
}
}
谢谢..
Managed Bean的范围是什么。我认为你应该在java代码中获得一致的复选框值,但它们可能不会反映在UI上。如果您在上一页或下一页时可以使用Ajax功能,并且如果您可以通过读取应该具有一致值的bean来呈现值,则可能会有效。 – Walker
@Manish感谢您的回复..它是会话范围的manged豆也是我与viewscoped一起尝试以及.. – vinod