0

私はVaadinが初めてです。Vaadin 7の新しいポップアップ画面にテーブルコンポーネントを渡す方法は? com.vaadin.ui.Table を使用して既にテーブルを作成しているとします。

テーブル aaa = 新しいテーブル();

現在、Vaadin チュートリアルは、コンポーネント/データを渡さずに印刷ポップアップを作成する方法を示しているだけです。以下のコードに基づいて

public static class PrintUI extends UI {
    @Override
        protected void init(VaadinRequest request) {
        // Have some content to print
        setContent(new Label(
            "<h1>Here's some dynamic content</h1>\n" +
            "<p>This is to be printed.</p>",
            ContentMode.HTML));

        // Print automatically when the window opens
        JavaScript.getCurrent().execute(
            "setTimeout(function() {" +
            "  print(); self.close();}, 0);");
    }
}
...

// Create an opener extension
BrowserWindowOpener opener =
        new BrowserWindowOpener(PrintUI.class);
opener.setFeatures("height=200,width=400,resizable");

// A button to open the printer-friendly page.
Button print = new Button("Click to Print");
opener.extend(print);

Table aaa を PrintUI クラスに渡す方法を教えていただければ幸いです。

4

3 に答える 3

4
Window window = new Window("my test table popup");
window.setContent(table); 
window.setModal(true);
getUI().addWindow(window);
于 2014-06-17T10:10:37.267 に答える
1

ポップアップ ウィンドウでオブジェクトを UI クラスに渡す唯一の方法は、オブジェクトをセッションに保存することです。

    Table table = new Table();
    VaadinSession.getCurrent().setAttribute("table", table);

ポップアップウィンドウで:

    Table t = (Table) VaadinSession.getCurrent().getAttribute("table");
于 2013-11-01T14:24:43.483 に答える
0

クラスで初期化することもできTableますPrintUI。特定のインスタンスを初期化する必要がある場合はTable、たとえば、テーブル id パラメーターを UI に渡し.getParameter("idTable")(最終的には URL にパラメーターを追加するように機能します)、のメソッドGETでそれを取得できます。リクエスト パラメータに.PrintUIinit().getParameter("idTable")

于 2018-01-18T17:18:43.313 に答える