Lookup Field - Vaadin Add-on Directory
The Lookup field component allows you to search a specific record## Compatibility
* Version 1.x.x -> Up to Vaadin 17.x.x
* Version 2.x.x -> Vaadin 17+
* Version 23.1.x -> Vaadin 23.1.x
* Version 23.2.x -> Vaadin 23.2.x
* Version 23.3.x -> Vaadin 23.3.x
* Version 24.x.x -> Vaadin 24.x.x
## Description
The Lookup field component allows you to search a specific record with:
* a combobox
* a dialog and a grid that can contains all the fields
## How to use it
Create a new component LookupField and use it like a Field.
The API is similar to a Vaadin Combobox.
## Examples
### Basic example with String
```
public SimpleView() {
LookupField lookupField = new LookupField<>();
List items = Arrays.asList("item1","item2", "item3");
lookupField.setDataProvider(DataProvider.ofCollection(items));
lookupField.getGrid().addColumn(s -> s).setHeader("item");
lookupField.setLabel("Item selector");
add(lookupField);
}
```
### Basic example with an Object
```
public PersonView() {
LookupField lookupField = new LookupField<>(Person.class);
List items = getItems();
lookupField.setDataProvider(DataProvider.ofCollection(items));
lookupField.setGridWidth("900px");
lookupField.setHeader("Person Search");
add(lookupField);
}
private List getItems() {
PersonService personService = new PersonService();
return personService.fetchAll();
}
```
### Internationalization
You can change the captions of the buttons, dialog header, serach label.
```
public I18nView() {
LookupField lookupField = new LookupField<>();
List items = Arrays.asList("item1","item2", "item3");
lookupField.setDataProvider(DataProvider.ofCollection(items));
lookupField.getGrid().addColumn(s -> s).setHeader("item");
// set the label of the field
lookupField.setLabel("Item selector");
//set the header text of the dialog
lookupField.setHeader("utilisateurs");
// translate the cpations of the component
lookupField.setI18n(new LookupField.LookupFieldI18n()
.setSearcharialabel("Cliquer pour ouvrir la fenĂȘtre de recherche")
.setSelect("SĂ©lectionner")
.setHeaderprefix("Recherche:")
.setSearch("Recherche")
.setHeaderpostfix("")
.setCancel("Annuler"));
add(lookupField);
}
```
## Demo
You can check the demo here: https://incubator.app.fi/lookup-field-flow-demo/
## Missing features or bugs
You can report any issue or missing feature on github: https://github.com/vaadin-component-factory/lookup-field-flow
### Sponsored development
Major pieces of development of this add-on has been sponsored by customers of Vaadin. Read more about Expert on Demand at: [Support](https://vaadin.com/support) and [Pricing](https://vaadin.com/pricing)