package com.appdev.bsf.common.client.report;
import com.appdev.bsf.common.client.resources.CommonResourcesGenerator;
import com.smartgwt.client.widgets.form.DynamicForm;
import com.smartgwt.client.widgets.form.fields.FormItemIcon;
import com.smartgwt.client.widgets.form.fields.SelectItem;
import com.smartgwt.client.widgets.form.fields.events.FormItemClickHandler;
import com.smartgwt.client.widgets.layout.HLayout;
/**
*
*
* @category 例子(事件里面相应代码)<br>
* DynamicForm form = event.getForm(); <br>
* String type = form.getValue("type").toString();//获取要导出报表的类型<br>
* OperatorDataSource dataSource
* =operatorListGrid.getOperatorDataSource();
* //获取当前对应显示ListGrid的DataSource<br>
* String criterias = dataSource.getCriterias().toString()
* .replace("{", "").replace("}", ""); //获取选择数据的条件<br>
* map,type,clsUrl这三个参数必须传 <br>
* Window.open(GWT.getModuleBaseURL() + "ReportServlet?map=" +
* criterias + "&type=" + type + "&clsUrl=" +
* Operator.class.getName(), "report", "sdfs");<br>
* //传参数的名字,Operator.class.getName()表示类路径
*/
public class GwtJasperReport extends HLayout {
public GwtJasperReport(FormItemClickHandler formItemClickHandler) {
setHeight(22);
setWidth(180);
ItemButton itemBtn = new ItemButton(formItemClickHandler);
final DynamicForm df = new DynamicForm();
df.setHeight(22);
df.setWidth100();
SelectItem item = new SelectItem("type", "报表类型");
item.setWidth(125);
item.setValueMap("PDF", "HTML", "Excel", "RTF");
item.setDefaultValue("Excel");
item.setIcons(itemBtn);
df.setItems(item);
addMember(df);
}
private class ItemButton extends FormItemIcon {
public ItemButton(FormItemClickHandler clickHandler) {
setSrc(CommonResourcesGenerator.generatorReportResource().export().getSafeUri().asString());
setWidth(40);
setHeight(22);
setAttribute("hspace", 0);
addFormItemClickHandler(clickHandler);
}
}
}
前端应用:
GwtJasperReport report = new GwtJasperReport(new FormItemClickHandler() {
@Override
public void onFormItemClick(FormItemIconClickEvent event) {
DynamicForm form = event.getForm();
String type = form.getValue("type").toString();
OperatorDataSource dataSource = operatorListGrid.getOperatorDataSource();
String criterias = dataSource.getCriterias().toString().replace("{", "").replace("}", "");
Window.open(GWT.getModuleBaseURL() + "ReportServlet?map=" + criterias + "&type=" + type
+ "&clsUrl=" + Operator.class.getName(), "report", "sdfs");
}
});
分享到:
相关推荐
在IT行业中,有时候我们需要接手一些老项目,这些项目可能使用了过时的技术或框架,比如本文提到的Google Web Toolkit (GWT)。GWT是一种用于构建富互联网应用程序(RIA)的开源Java SDK,允许开发者使用Java语言编写...
首先,EXT-GWT2.0.1是EXT-GWT(GWT-Ext)的一个版本,它是基于GWT的组件库,提供了丰富的用户界面组件,如表格、树形视图、菜单等,使得开发者可以构建出具有桌面级用户体验的Web应用。EXT-GWT的API和DOC文档对于...
在学习GWT的过程中,练习StockWatcher可以帮助你掌握GWT的核心组件和工作原理。逐步理解并实践这些知识点,你将能够创建更复杂、功能丰富的GWT应用程序。记得在实践中不断尝试、调试和优化,以加深对GWT的理解。
- GWT提供了一套丰富的UI组件库,如Button、TextBox、ListBox等,这些组件可以轻松地构建复杂的用户界面。 - 支持事件处理机制,如点击事件、键盘事件等。 4. **远程服务调用(RPC)**: - GWT支持通过远程过程调用...
1. **Java编程**:GWT允许开发者使用Java语言进行前端开发,利用Java的强大特性和丰富的库,同时避免了JavaScript的语法差异和兼容性问题。 2. **自动编译**:GWT将Java代码编译为优化过的JavaScript,这使得应用...
GWT 支持在 Java 虚拟机 (JVM) 上直接运行前端代码,这意味着开发者可以在开发阶段直接使用 Java 调试工具来进行调试。这种模式下,无需生成 HTML 和 JavaScript 文件,使得调试变得更加直观高效。此外,这种方式还...
GWT-JAR文件通常包含了GWT库的各种组件、API和其他必要的资源,使得开发者能够利用Java语言来编写前端Web应用。 在深入探讨GWT之前,我们需要了解Java语言和JavaScript之间的关系。GWT的核心理念是通过Java编译器将...
SmartGWT是基于Google Web Toolkit (GWT) 的一个开源框架,它为开发富互联网应用程序(RIA)提供了丰富的组件库和高级功能。SmartGWT的最新版本进一步提升了用户体验,简化了开发过程,提供了更多现代Web设计的需求...
在这个“Gwt Designer 开发实例一”中,我们将探讨如何利用GWT Designer来创建Composite组件,实现CSS支持以及国际化(Internationalization)功能。 1. **GWT Composite组件开发**: GWT中的Composite组件允许...
EXT-GWT则是基于GWT的组件库,提供了丰富的用户界面元素,让开发者能够构建出具有桌面应用般体验的Web应用。 在提供的资源中,我们首先看到的是"EXT-GWT2.0.1+API+DOC.chm",这是一个离线版的EXT-GWT API文档。这个...
通过《GWT 揭秘》的源代码,读者可以学习到如何创建GWT项目,设置模块,使用GWT的UI组件,实现异步通信,以及优化和调试代码。此外,书中可能还涵盖了自定义Widget、国际化、CSS样式控制、单元测试等方面的内容。 ...
【标题】"基于Java的网页表格组件 GWT Advanced Table.zip" 涉及的主要知识点是Google Web Toolkit (GWT)的高级表格应用开发。GWT是一个开源的Java框架,允许开发者使用Java语言来编写客户端的Web应用程序,然后自动...
这个项目可能是为了展示如何在GWT前端应用程序中有效地利用Hibernate来处理后端数据库操作。GWT是一种用于构建高性能、富客户端Web应用的开发工具,而Hibernate则是一个流行的Java对象关系映射(ORM)框架,它简化了...
这样的整合模式能够充分利用各自框架的优势,SmartGwt提供高效的前端展示,Mybatis简化数据库操作,Spring则作为整体架构的胶水,使得整个系统的可维护性和扩展性得到提升。在实际项目中,开发者可以根据需求调整...
在实际开发中,SmartGWT的组件库极大地简化了前端界面的开发,让开发者无需深入理解JavaScript和CSS的细节,就能创建出美观且响应式的用户界面。同时,由于其基于GWT,开发者还可以利用GWT的特性,如编译时的类型...
GWT的主要目标是简化前端开发,提供一套强大的工具集,使开发者能够利用Java的强类型和丰富的生态系统来构建复杂的Web应用。 ### GWT的组成 1. **开发工具**:GWT提供了Eclipse插件,使得开发者可以在熟悉的IDE中...
gwtext是Google Web Toolkit (GWT) 的一个扩展库,提供了丰富的用户界面组件和样式,使得在GWT平台上构建复杂的Web应用变得更加便捷。GWT Ext则是gwtext的核心部分,基于Ext JS库,为GWT提供了更多的UI组件和功能。 ...
gwt 颜色选择器组件,功能强大得如ps一样