Vaadin CRUD UI для связанных лиц - PullRequest
0 голосов
/ 11 ноября 2018

Как отобразить часть пользовательского интерфейса для связанных объектов?

Если у меня есть такая сетка для сущности Product

    GridCrud<T> crud = new GridCrud<T>(tClass);
    crud.getCrudFormFactory().setUseBeanValidation(true);
    crud.setFindAllOperation(() -> (Collection<T>)repository.findAll());
    crud.setAddOperation(repository::save);
    crud.setUpdateOperation(repository::save);
    crud.setDeleteOperation(repository::delete);

И продукт следующий

public class Product {//...
@ManyToMany
@JoinTable(name = "optionToProduct",
        joinColumns = {@JoinColumn(name = "optionId")},
        inverseJoinColumns = {@JoinColumn(name = "productId")})
private Set<Option> options = new HashSet<>();
}

Как показать список опций для каждого продукта во время редактирования?

Vaadin

    <dependencyManagement>
<dependencies>
  <dependency>
    <groupId>com.vaadin</groupId>
    <artifactId>vaadin-bom</artifactId>
    <version>8.2.0</version>
    <type>pom</type>
    <scope>import</scope>
  </dependency>
 </dependencies>
</dependencyManagement>

<dependencies>
    <dependency>
        <groupId>com.vaadin</groupId>
        <artifactId>vaadin-spring-boot-starter</artifactId>
        <version>2.0.1</version>
    </dependency>

    <dependency>
        <groupId>org.vaadin.crudui</groupId>
        <artifactId>crudui</artifactId>
        <version>2.3.0</version>
    </dependency>

1 Ответ

0 голосов
/ 11 ноября 2018

GridCrud - это не класс, который доступен в Vaadin по умолчанию, поэтому либо вы используете надстройку, либо пользовательский код из вашей команды. Можете ли вы проверить, откуда это? Это поможет другим помочь вам.

Я не уверен, что возвращает grid.getCrudFormFactory(), но похоже, что это правильное место для их настройки. То есть. formFactory.addField (поле, компонент); или что-то подобное.

...