私は JSF2 で Richfaces 4.2.2 を使用しており、次のピックリスト コードがあります。
<rich:pickList id="internationalTransactionCountriesPicklist"
value="#{currentRuleItem.ruleControls.GeographicControl.selectedValues}"
sourceCaption="#{msg.AvailableCountries}"
targetCaption="#{msg.SelectedCountries}"
addText="#{msg.picklistSelectItemButtonLabel}"
addAllText="#{msg.picklistSelectAllItemButtonLabel}"
removeText="#{msg.picklistDeselectItemButtonLabel}"
removeAllText="#{msg.picklistDeselectAllItemButtonLabel}"
listHeight="150px"
disabled="#{userSettings.userIsReadOnly}"
readonly="#{userSettings.userIsReadOnly}">
<f:ajax event="additems" render="@this" execute="@this" />
<f:ajax event="removeitems" render="@this" execute="@this" />
<f:selectItems value="#{controls.fullCountryList}"
var="country" itemValue="#{country.countryCode}"
itemLabel="#{country.displayName}" itemLabelEscaped="true" />
</rich:pickList>
controls.fullCountryListは、カスタム国オブジェクトのリストです。カスタム国クラスは、Comparable Interface を実装します。
ソース リストのアイテムをターゲット リストに追加し、このアイテムをターゲット リストから削除すると、問題が発生します。
ソース リストに再度追加されると、ソース リストの一番下に配置されます (元のようにソース リストでアルファベット順にソートされていません)。
誰かがこれを回避する方法を知っていますか?
ここに RF3 のそれに対して未解決のバグがあります
ありがとう