作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我试图从保存汽车登记号的组合框中获取选定的值。以便用户可以选择AAA-111、BBB-222等。
现在我希望能够掌握用户在组合框中选择的值,但我似乎找不到以“AAA-111”形式获取它的方法。当我使用 getValue() 时,Vaadin 希望将其指定为“entiteetit.Korjaustiedot@4024af35”。我没有用它。
我希望能够对其进行编码,如下所示:好的,选择了“AAA-111”,现在只需按一下按钮即可在屏幕上获取 AAA-111 的信息。有什么想法如何从组合框中获取值吗?
ComboBox select = new ComboBox("Choose car");
container = new BeanItemContainer<Korjaustiedot>(Korjaustiedot.class, korjaukset); // gets the data from my mysql database
select.setContainerDataSource(container); //puts the data from the List <Korjaustiedot> into the container
select.setItemCaptionPropertyId("registernumber"); //chooses the data from the column "registernumber"
this.addComponent(select);
select.addValueChangeListener(event -> // Java 8
this.addComponent(new Label("Selected " +
event.getProperty().getValue())));
// this label only shows: Selected entiteetit.Korjaustiedot@4024af35
最佳答案
当您以相同的方式创建组合框时,您将执行以下操作:
BeanItemContainer<Korjaustiedot>(Korjaustiedot.class, korjaukset)
。请注意,它不是将显示的字符串集合,而是真实的模型对象,例如用户、汽车、帐户等。select.setItemCaptionPropertyId("registernumber")
来完成此操作.getProperty().getValue()
访问所选项目返回的不是客户端可以看到的所选项目的字符串表示形式。相反,您会返回整个 Car 对象。因此,如果您调用 toString()
就可以得到 "entiteetit.Korjaustiedot@4024af35"
因为它是复合对象而不是字符串。如果您想要注册号,您可以将其作为通过 get Property().getValue()
获得的对象的字段读取。 .关于容器和元素 Collection 的详细描述可以在瓦丁之书 - Collecting Items in Containers 中找到。
关于java - Vaadin 组合框 getValue() 没有得到我想要的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29828097/
使用登录后,我想吐出用户名。 但是,当我尝试单击登录按钮时, 它给了我力量。 我看着logcat,但是什么也没显示。 这种编码是在说。 它将根据我在登录屏幕中输入的名称来烘烤用户名。 不会有任何密码。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或include a min
我是一名优秀的程序员,十分优秀!