为了账号安全,请及时绑定邮箱和手机立即绑定

数据绑定后ComboBox无法编辑

数据绑定后ComboBox无法编辑

largeQ 2021-04-02 14:11:58
Google-fu没有透露任何信息,Stackoverflow搜索显示了与我的情况不完全相同的类似问题。男孩,我在这里问很多问题。这不是考试题,家庭作业题,也不是学校计划或类似项目。因此,请不要打扰您回复这样的评论。那对我没有帮助简而言之,我将一个项目存储在数据库中:barcode (bigint),check_out_date (datetime),due_date (datetime),is_available (String: True/False/Null,我想那会比在UI端复选框比DB使用位(1),因为我无法得到正确的结合更容易,更方便。) ,is_late (String: True/False/Null, same reason as above),,name (varchar)notes (varchar)type (varchar)is_late并且is_available绑定到2个值的组合框(True / False),数据库读取这些值并实际在组合框中显示这些值,但是我无法对其进行编辑。作为参考,我在程序的不同部分中还有另外2个Combobox,但是它们没有绑定,因此可以正常工作。如何使(组合?)这些组合框可编辑?感谢您的帮助,我很高兴能加入这个社区!
查看完整描述

2 回答

?
慕标琳琳

TA贡献1830条经验 获得超9个赞

setAvailable并且getIsAvailable不是很好的方法名称,因为它们不匹配。因此,如您所知,使用setIsAvailable或将属性更改为available并使用setAvailable/getAvailable是正确的方法。

Vaadin活页夹使用Java PropertyDescriptor查找getter和setter。这只是在大小写属性名称之前添加getset前缀的一种情况。

从源代码is可以看出,如果您使用布尔值,则前缀也可以用于getter 。

在这种情况下,你可以有一个布尔属性available,然后setAvailableisAvailable访问方法。


查看完整回答
反对 回复 2021-04-14
?
PIPIONE

TA贡献1829条经验 获得超9个赞

我这太尴尬了!原来我的二传手命名不正确..因此能够读取但不能写入。

字段和实例数据为“ isAvailable”,因此系统正在寻找InventoryItem.setisAvailable(String available),但该方法名为setAvailable。

使用时binder.forField(field).bind(Object::getter, Object::setter),解决方案有效。只需传递您的方法名称即可。 但是,分别在对象的类中binder.forMemberField(field).bind("value")寻找getValuesetValue方法。在这种情况下,您可以选择修改您的getter / setter名称或使用binder.forField

//img1.sycdn.imooc.com//6076a788000131b516070930.jpg

查看完整回答
反对 回复 2021-04-14
  • 2 回答
  • 0 关注
  • 162 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信