2013-02-23 3 views
2

Как использовать пару ключ/значение с помощью SimpleComboBox в GXT. Я могу добавить ключ к SimpleComboBox, но как добавить значение конкретного ключа в SimpleComboBox? Позже я хочу получить значение ключа. Благодарность & С уважением, AnandSimpleComboBox в GXT

+0

ли ключ и значение должно появиться symaltaneously на SimpleComboBOX – swamy

+0

Почему не использовать ComboBox ?, с помощью ModelData вы можете определить вам ключ и значение поля. –

+0

@Anand Вы всегда должны указывать версию GXT, которую используете. От GXT 2 до GXT было много изменений. Ответ «RadAsm» - для GXT 3, а «Ahmed» - для GXT 2 –

ответ

0

// MySimpleComboBox extends SimpleComboBox 
public MySimpleComboBox(){ 
    super(new ListStore<Person>(new ModelKeyProvider<Person>() { 
     @Override 
     public String getKey(Person item) { 
      return item.id(); 
     } 
    }), new LabelProvider<Person>() { 
     @Override 
     public String getLabel(Person item) { 
      return item.toString(); 
     } 
    }); 
} 

Я сделал это, когда я думаю, что это то, что ищет (или то, что вы искали).

1

Простой способ иметь ключ/значение в SimpleComboBox - использовать ListStore с типом BaseModel. BaseModel позволяет сохранять данные как ключ/значение, как следующее:

SimpleComboBox combo = new SimpleComboBox(); 
ListStore<BaseModel> store = new ListStore<BaseModel>(); 

combo.setStore(store); 
combo.setDisplayField("name"); 
// complete the SimpleComboBox properties here. 

// Now, we will create data sample for the answer 
BaseModel model = new BaseModel(); 
model.set("id", 1); 
model.set("name", "Java"); 
store.add(model); 

BaseModel model = new BaseModel(); 
model.set("id", 2); 
model.set("name", "PHP"); 
store.add(model); 

, как вы можете видеть из фрагмента кода, BaseModel хранит данные в виде пар ключ/значение, так что вы можете легко получить выбранный элемент из SimpleComboBox как :

BaseModel selectedModel = (BaseModel) combo.getValue(); 
String techName = selectedModel.get("name"); // return value of key name 
Смежные вопросы