0

我们有一个在 Telidos 平台上开发的网站,它在其中使用 GWT。但是在那个网站中,我们需要包含打印功能。当用户单击打印按钮时,应用程序应打印搜索条件和该页面的内容。我不知道如何实现它。我搜索了所有我找不到任何解决方案的地方。

如果有人有任何想法,请帮助我。

4

1 回答 1

0

Jothi,在 GWT 中,我们在 GWT 小部件中拥有一切。它可能是一个 RootPanel。VerticalPanel、SplitPanel 等等。所以试试这个,

例如。如果要打印添加到 VerticalPanel 中的 CellTable,

VerticalPanel vPanel = new VerticalPanel();
vPanel.add(cellTable);

然后通过打印

String printText = vPanel.asWidget().getElement().getInnerHTML();
printMethod(printText);

并有以下方法,

public static native void printMethod(String html) /*-{
var frame = $doc.getElementById('printing');
if (!frame) {
$wnd.alert("Error: Can't find printing frame.");
return;
}
frame = frame.contentWindow;
var doc = frame.document;
doc.open();
doc.write(html);
doc.close();
frame.focus();
frame.print();
}-*/;

其中“打印”是 iframe id。

<iframe id="printing" style="width:0;height:0;border:0">
</iframe>

这应该添加到您的 *.ui.xml 中,用于特定的小部件,例如

<g:Verticalpanel><iframe id="printing" style="width:0;height:0;border:0">
</iframe></g:Verticalpanel>
于 2012-10-29T06:07:22.590 回答