我想要启用或禁用此组合框,具体取决于前一个组合框中选择的“SDO / OD”(在数据库中编码为10)。当我使用下面的代码时,它给了我下拉列表,但是对于每个选择。我想只在选择“SDO / OD”时才下拉。否则,禁用组合框但允许数据传递记录的空值。我认为它不是在阅读听众。我的问题是为什么会发生这种情况?如何处理Listerner以适应这样的任务?
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