1

新しいウィンドウにドラッグ アンド ドロップ セル テーブルを表示する必要があるという要件があります。回答を確認し、これについてグーグルで検索しましたが、適切な回答が得られませんでした。ボタンをクリックするだけで新しいウィンドウを開くことができます。以下は私が使用しているコードです:

@UiHandler(value = { "buttonReleaseView" })
    void onReleaseViewClick(ClickEvent clickEvent) {
        String winUrl = GWT.getModuleBaseURL() + "releaseView/";
        String winName = "Release View";

        openNewWindow (winName, winUrl);  /* spawn a new window - not popup */
    }

    /**
    * Opens a new windows with a specified URL..
    * 
    * @param name String with the name of the window.
    * @param url String with your URL.
    */
    public static void openNewWindow(String name, String url) {
        com.google.gwt.user.client.Window.open(url, name.replace(" ", "_"),
               "menubar=no," + 
               "location=false," + 
               "resizable=yes," + 
               "scrollbars=yes," + 
               "status=no," + 
               "dependent=true");
    }

では、この新しいウィンドウにセル テーブルを表示するにはどうすればよいでしょうか。

私を助けてください。

前もって感謝します

リチャ

4

1 に答える 1

1

GWT モジュールはブラウザ ページ内に存在するため、新しいブラウザ ページを開いてその中に GWT コンポーネントを表示する場合は、基本的に新しい GWT モジュールを独自のホスト ページにロードする必要があります。この場合、おそらくポップアップ ウィンドウを使用するでしょう。

ただし、本当に必要な場合は、別のホスト ページと GWT モジュールを作成してテーブルを表示するか、同じホスト ページと GWT モジュールを再利用して URL パラメーターまたは履歴トークンを渡して、表示するビューを示すことができます。 . この最後のケースでも、GWT モジュールの 2 つのインスタンスがブラウザーで実行されていることに注意してください。

Window.open() によって返されたハンドルを呼び出して、新しいブラウザ ウィンドウに直接書き込むハック的な方法もありますが、document.writeユーザーの操作をあまり必要としない単純な場合にのみ行います (たとえば、印刷プレビュー機能にこのアプローチを使用しました)。

于 2012-07-04T17:32:11.337 に答える