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");
}
});
分享到:
相关推荐
- **岗位职责**:参与前端业务组件的需求讨论,技术研发和产品上线,解决技术问题,优化前端业务产品和组件。 - **任职要求**:3年以上前端开发经验,精通HTML5、CSS3、JavaScript等,熟悉React或Vue框架,了解...
GWT是一种Java开发工具,允许开发者用Java编写前端应用,并自动编译成JavaScript,从而在浏览器环境中运行。 **GWT(Google Web Toolkit)** GWT 是一个开源的开发框架,由Google提供支持。它允许开发人员使用Java...
在这个过程中,Eclipse作为开发工具,可以辅助进行流程图的设计和调试,drools-guvnor则提供了规则管理,designer用于图形化设计流程,而jbpm-gwt-console则是用户交互的前端界面。 请注意,由于jbpm5的版本较旧,...
该系统可能集成了其他JavaScript框架,例如Sencha Touch(用于移动设备的支持)或EXT GWT(用于后端与前端的交互),以实现跨平台的兼容性和数据同步。这样的集成使得酒店管理者无论身处何处,都能轻松访问和操作...
GWT是一个基于Java的开源工具,允许开发者使用Java编写前端应用,然后自动编译为JavaScript,实现了跨浏览器的兼容性。 - **GWT核心概念**:GWT提供了Widget库,允许开发者创建丰富的用户界面组件,如表格、按钮、...
DMS_Client则是系统的前端,可能包含以下组件: 1. **Web客户端**:基于HTML、CSS和JavaScript,通常使用AJAX技术增强用户体验,与服务器通过HTTP交互。 2. **富客户端**:可能采用JavaFX、Swing或GWT等技术,提供...
5. 监控和报表:提供实时监控,展示流程执行情况,生成统计报表。 在开发过程中,SSH框架帮助实现了后端服务,而前端界面可能使用了JSP或HTML5、CSS3、JavaScript等技术进行构建,可能还涉及到了Ajax异步通信,以...