1

Vaadin 6 を使用していますが、ユーザーがドロップダウン ボックスからオプションを選択したときに選択される値を設定するのに助けが必要です。いくつかの値を作成して選択ボックスに追加するのは簡単です。

Select sel = new Select();
sel.addItem("Value 1");
sel.addItem("Value 2");
sel.addItem("Value 3");

値を取得するのも同様に簡単です。

String selValue = (String) sel.getValue();

しかし、問題は、Select に入力する必要がある HashMap がある場所にあります。

HashMap<String, String> users = new HashMap<String, Sting>();
users.put("1", "John");
users.put("2", "Bob");
users.put("3", "Tom");

したがって、選択ボックスに実際のユーザー名を表示したいのですが、選択したときにIDを渡したいと思います。これは可能ですか?それとも、あなたが見て選んだものが得られるものですか?

4

1 に答える 1

4

あなたがする必要があります:

HashMap<String, String> users = new HashMap<String, String>();
users.put("1", "John");
users.put("2", "Bob");
users.put("3", "Tom");

Select select = new Select();
for(Iterator<String> i = users.keySet().iterator(); i.hasNext();) {
    String key = i.next();
    select.addItem(key);
    select.setItemCaption(key, users.get(key));
}

String selValue = (String) select.getValue();

これにより、以前と同じようにアイテムが追加されますが、ユーザーが画面に表示する内容が設定されます。次に、値を取得すると、表示された値ではなく、ID が返されます。

于 2014-09-10T06:55:47.613 に答える