2012-07-04 2 views
0

У меня есть требование, в котором мне нужно отобразить таблицу перетаскивания drag n в новом окне. Я проверил ответы, и у меня есть об этом, но я не получил соответствующих ответов. Я могу открыть новое окно одним нажатием кнопки. Ниже приведен код, который я использую:Отображение виджета в новом окне в GWT

@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"); 
    } 

Теперь, как я должен отображать таблицу ячеек в этом новом окне?

Пожалуйста, помогите мне.

Заранее спасибо

Richa

ответ

1

Модуль GWT живет внутри страницы браузера, так что если вы хотите, чтобы открыть новую страницу браузера и отображать компоненты GWT внутри него, вы в основном нужно загрузить новую GWT модуль на собственной странице хоста. Я бы, вероятно, использовал всплывающее окно в этом случае, так как это было бы проще.

Но если вам действительно нужно это сделать, вы можете создать отдельную главную страницу и модуль GWT для отображения таблицы, или вы можете повторно использовать одну и ту же главную страницу и модуль GWT и передать какой-либо URL-адрес или маркер истории, чтобы указать которые видны для отображения. Имейте в виду, что даже в этом последнем случае у вас все еще есть два экземпляра модуля GWT, работающего в браузере.

Есть также более или менее хакерские способы записи непосредственно в новое окно браузера, вызвав document.write на дескрипторе, возвращенном Window.open(), но я бы сделал это только для простых вещей, которые не требуют слишком многого (например, я использовал этот подход для функции предварительного просмотра).

+0

Большое спасибо Дэвиду. Я попробую ваше решение и дам вам знать. –

Смежные вопросы