我们有在Telidos平台开发的网站,它在侧面使用GWT。但 在该网站中,我们需要包含打印功能。当用户单击打印按钮时,应用程序应该打印搜索条件和该页面中的内容。我不知道如何实现它。我在所有找不到任何解决方案的地方搜索过。
如果有人有任何想法,请帮助我。
答案 0 :(得分: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();
}-*/;
其中'printing'是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>