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 回答