如何在gxt中的组合框上显示不同的值?

时间:2010-12-29 11:32:27

标签: gxt

我想在combox上显示不同的值。我正在获得价值商店

Group    Number

A           1
B           2
C           1
D           3
E           2

我想显示数字1,2,3。但现在我得到1,2,1,3,2。如何解决它。

这是我的代码:

 ListStore<StringFieldModel> store = new ListStore<StringFieldModel>();
        public ComboBox<StringFieldModel> combo= new ComboBox<StringFieldModel>();
        combo.setMinChars(1);
        combo.setFieldLabel(ZingTrack.getUICaptions().Vehicle());
        combo.setDisplayField("name");
        combo.setStore(store);
        combo.setTriggerAction(TriggerAction.ALL);
        combo.setEmptyText(ZingTrack.getUICaptions().Vehicle());
        combo.setLoadingText("Searching...");
        combo.setTypeAhead(true);
        combo.setSelectOnFocus(true);
        combo.setEditable(false);
        combo.setHideTrigger(false);
        combo.setWidth(150);## Heading ##

2 个答案:

答案 0 :(得分:0)

您可以尝试在商店上设置ModelComparer,或者只是在将数据添加到商店时过滤数据。

答案 1 :(得分:0)

例如;

也许你申请这个;
但是对象的比较属性必须是“数字”列。您的Group-Number类可以覆盖等于在Number列上比较的方法

Set<StringFieldModel> set = new HashSet<StringFieldModel>();  
set.addAll(store.getModels());  
StringFieldModel[] modelArray=new StringFieldModel[set.toArray().length];  
store.removeAll();
store.add(Arrays.asList(set.toArray(modelArray))); 

如您所见,设置不包含重复值。