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 模块实例。

通过调用 Window.open() 返回的句柄,也有或多或少的黑客方式直接写入新的浏览器窗口document.write,但我只会为不需要太多用户交互的简单事情这样做(例如,我'已将此方法用于打印预览功能)。

于 2012-07-04T17:32:11.337 回答