为 Vaadin ListBox 选择显示字段
Selecting display field for Vaadin ListBox
我正在用来自 MySQL 来源的实体列表填充列表框。
我看不出如何告诉它哪个字段用作它的 ID,哪个字段用作它的显示。
对于 ComboBox,我可以使用 setItemLabelGenerator 来告诉它要使用哪个字段进行显示,但我看不到 ListBox 的等效项。
ListBox<MyEntitySource> entityListBox = new ListBox<MyEntitySource>();
List<MyEntitySource> entitySource = (List<MyEntitySource>) entityRepository.findAll();
entityListBox.setItems(entitySource);
这最终显示为:
MyEntity{id=1, description=项目 1}
如何告诉它以字段“id”保存 ID 并将值显示为字段“description”?
您需要为项目应用渲染器,例如:
entityListBox.setRenderer(new TextRenderer<>(entity -> entity.getDescription()));
我正在用来自 MySQL 来源的实体列表填充列表框。 我看不出如何告诉它哪个字段用作它的 ID,哪个字段用作它的显示。
对于 ComboBox,我可以使用 setItemLabelGenerator 来告诉它要使用哪个字段进行显示,但我看不到 ListBox 的等效项。
ListBox<MyEntitySource> entityListBox = new ListBox<MyEntitySource>();
List<MyEntitySource> entitySource = (List<MyEntitySource>) entityRepository.findAll();
entityListBox.setItems(entitySource);
这最终显示为: MyEntity{id=1, description=项目 1}
如何告诉它以字段“id”保存 ID 并将值显示为字段“description”?
您需要为项目应用渲染器,例如:
entityListBox.setRenderer(new TextRenderer<>(entity -> entity.getDescription()));