我有這個組合框,我想啓用或禁用取決於選擇「SDO/OD」,(在數據庫中編碼爲10)在以前的組合框中。當我使用下面的代碼時,它給了我下拉列表,但對於每一個選擇。只有當選擇「SDO/OD」時,我才需要下拉菜單。否則,禁用組合框,但允許數據通過空記錄。我不認爲它正在閱讀Listener。我的問題是爲什麼會發生這種情況?如何處理Listerner以適應這樣的任務?Java selectionChange組合框的監聽器
fcbRole.addSelectionChangedListener(new SelectionChangedListener<ModelData>()
{
@Override
public void selectionChanged(SelectionChangedEvent<ModelData> se)
{
fcbOfficeRegion.clearSelections();
fcbOfficeRegion.getStore().clearFilters();
if(fcbRole.getValue().equals("SDO/OD") && se.getSelectedItem() != null)
{
fcbOfficeRegion.enable();
fcbOfficeRegion.setValueField(se.getSelectedItem().get("strValue").toString());
StoreFilter<ModelData> sfRole = new StoreFilter<ModelData>()
{
@Override
public boolean select(Store<ModelData> store,
ModelData parent, ModelData item,
String property) {
String name = item.get("filterDepts");
name = getScc().cleanString(name.toLowerCase());
if (name.contains("(" + fcbRole.getValue().get("strValue") + ")"))
{
return true;
}
return false;
}
};
fcbOfficeRegion.getStore().addFilter(sfRole);
fcbOfficeRegion.getStore().applyFilters("fcbOfficeRegion");
}
else
我不明白你的問題。您是否試圖根據該組合框的用戶選擇來啓用/禁用組合框? – Dodd10x 2012-02-07 16:50:41