2

GXT で SimpleComboBox を使用してキーと値のペアを使用する方法。SimpleComboBox にキーを追加することはできますが、SimpleComboBox に特定のキーの値を追加するにはどうすればよいですか? 後でキーの値を取得したい。よろしくお願いします、 アナンド

4

2 に答える 2

1

SimpleComboBox にキー/値を設定する簡単な方法は、BaseModel タイプの ListStore を使用することです。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
于 2014-07-14T11:42:34.737 に答える
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();
        }
    });
}

それがあなたが探しているもの(またはあなたが探していたもの)だと思うと、私はそれをしました。

于 2014-06-24T20:50:35.890 に答える