我有这个组合框,我想启用或禁用取决于选择“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