2010-12-29 18 views
1

私はcomboxに異なる値を表示したいと思います。値のストアを取得していますgxtのcomboxに異なる値を表示する方法は?

Group Number 

A   1 
B   2 
C   1 
D   3 
E   2 

Number 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 ## 

答えて

0

あなたが店にModelComparerを設定してみてください、または単にストアに追加するときにデータをフィルタリングすることができます

は、ここに私のコードです。

0

たとえば、

おそらくこれで適用します。
しかし、オブジェクトの比較属性は "数値"列でなければなりません。あなたのグループナンバークラスはオーバーライドすることがありますが、重複する値が含まれていない設定して見たよう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))); 

に比較する方法に等しいです。

関連する問題