1

私はvaadinの初心者です。vaadin で PoC を開発する必要があります。サービス層はすでに春を使用して書かれています。Poc の一部として、以下の画面を作成する必要があります。

ここに画像の説明を入力

リクエストが UI クラスに来ると、ナビゲーターを使用してビューが呼び出されます。このビューは 1 つのタブシートで構成され、各タブには独自の機能があり、他のタブ値にも依存します。最初のタブは検索タブです。タブのコンテンツ領域に db から取得したすべてのレコードが表示されます (テーブル/グリッド アドオン。何を使用すればよいかわかりません)。各レコードは、他の 2 つのタブにアクセスできます。他の 2 つのタブには、各レコードのプロパティをマップするフィールドがあります。今のところ、表示するダミーデータを取得しています。

このようにビューを書きました。しかし、私はこのアプローチが正しいかどうか混乱しています。

@VaadinView(UserView.NAME)
public class UserView extends VerticalLayout implements View {

public static final String NAME = "user";

public UserView(){

    // For Tabs
    TabSheet tabs = new TabSheet();

    // first tab component
    VerticalLayout layout = new VerticalLayout();

    // for search fields
    HorizontalLayout searchArea = new HorizontalLayout();
    FormLayout searchAreaName = new FormLayout();
    TextField name = new TextField("name");
    FormLayout searchAreaEmail = new FormLayout();
    TextField email = new TextField("email");
    searchAreaName.addComponent(name);
    searchAreaEmail.addComponent(email);
    searchArea.addComponent(searchAreaName);
    searchArea.addComponent(searchAreaEmail);

    // for search table
    BeanContainer<String, test.User> users = new BeanContainer<String, User>(
            User.class);
    users.setBeanIdProperty("userId");
    users.addBean(new User("sudheer", "sudheer@kewil.com", "1"));
    users.addBean(new User("sridhar", "sridhar@kewil.com", "2"));
    users.addBean(new User("ranga", "ranga@kewil.com", "3"));

    Table table = new Table("", users);
    table.setSizeFull();
    table.setPageLength(6);

    layout.addComponent(searchArea);
    layout.addComponent(table);
    Tab tabOne = tabs.addTab(layout, "User Search", null);

    // second tab component
    VerticalLayout userLayout = new VerticalLayout();
    userLayout.addComponent(new TextField("user name"));
    userLayout.addComponent(new TextField("email"));
    tabs.addTab(userLayout, "main details", null);

    // tab change event

    addComponent(tabs);
    tabs.setHeight("50%");
    tabs.setWidth("50%");
    setComponentAlignment(tabs, Alignment.MIDDLE_CENTER);
}

@Override
public void enter(ViewChangeEvent event) {

}
}

ページネーションも実装していません。先に進む前に、先に進むための他の最善のアプローチを知りたい.

どんな提案でも私をとても助けてくれます。前もって感謝します。

誰でも..私を助けてください。私はやみくもにアプローチしています

4

1 に答える 1