smart gwt comboBoxItem根据用户输入不进行过滤

时间:2016-05-24 07:24:11

标签: java gwt smartgwt

ComboBoxItem buildings = new ComboBoxItem("buildings", "Building Names") {
        public Criteria getPickListFilterCriteria() {
            Criteria criteria = new Criteria();
            criteria.setAttribute("dependentString", grid.getSelectedRecord().getAttribute("company"));
            criteria.setAttribute("dependentString2", "office");
            return criteria;
        }
    };
    buildings.setOptionDataSource(CommonLookupDS.getLookupDS(LookupTypesClient.LOOKUP_BUILDINGS_BY_TYPE));
    buildings.setValueField("key");
    buildings.setDisplayField("value");
    buildings.setWidth(125);
    buildings.setWrapTitle(true);
    buildings.setAutoFetchData(false);
    buildings.setRequired(true);

重写getPickListFilterCriteria方法后,此comboBox将停止对用户输入进行过滤。它显示所有选项,无论用户输入如何。 如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

我将所有条件设置都放到数据源中,然后才能运行。所以,在方法transformRequest中我做

public Object transformRequest(DSRequest dsRequest){
    dsRequest.setHttpMethod("POST");
    return "<json>";
}

答案 1 :(得分:0)

这可以通过将条件附加到数据源来完成 例如

buildings.setOptionDataSource(CommonLookupDS.getLookupDS(LookupTypesClient.LOOKUP_BUILDINGS_BY_TYPE
                                +"&dependentString="+grid.getSelectedRecord().getAttribute("company")+"&dependentString2="+office));

并防止覆盖getPickListFilterCriteria方法