我已經在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