`
bean-woo
  • 浏览: 137859 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

gwt 前端报表打印组件

    博客分类:
  • GWT
阅读更多

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

分享到:
评论

相关推荐

    分享github开源项目.pdf

    - **岗位职责**:参与前端业务组件的需求讨论,技术研发和产品上线,解决技术问题,优化前端业务产品和组件。 - **任职要求**:3年以上前端开发经验,精通HTML5、CSS3、JavaScript等,熟悉React或Vue框架,了解...

    ofcgwt 统计图 插件 java

    GWT是一种Java开发工具,允许开发者用Java编写前端应用,并自动编译成JavaScript,从而在浏览器环境中运行。 **GWT(Google Web Toolkit)** GWT 是一个开源的开发框架,由Google提供支持。它允许开发人员使用Java...

    jbpm5初级demo的安装过程-基于eclipse

    在这个过程中,Eclipse作为开发工具,可以辅助进行流程图的设计和调试,drools-guvnor则提供了规则管理,designer用于图形化设计流程,而jbpm-gwt-console则是用户交互的前端界面。 请注意,由于jbpm5的版本较旧,...

    ExtHotel酒店管理系统

    该系统可能集成了其他JavaScript框架,例如Sencha Touch(用于移动设备的支持)或EXT GWT(用于后端与前端的交互),以实现跨平台的兼容性和数据同步。这样的集成使得酒店管理者无论身处何处,都能轻松访问和操作...

    simulationcompany:这个简单的模拟支付工资的程序

    GWT是一个基于Java的开源工具,允许开发者使用Java编写前端应用,然后自动编译为JavaScript,实现了跨浏览器的兼容性。 - **GWT核心概念**:GWT提供了Widget库,允许开发者创建丰富的用户界面组件,如表格、按钮、...

    DMSclientDMS

    DMS_Client则是系统的前端,可能包含以下组件: 1. **Web客户端**:基于HTML、CSS和JavaScript,通常使用AJAX技术增强用户体验,与服务器通过HTTP交互。 2. **富客户端**:可能采用JavaFX、Swing或GWT等技术,提供...

    JBPM web(SSH+JBPM) 例子

    5. 监控和报表:提供实时监控,展示流程执行情况,生成统计报表。 在开发过程中,SSH框架帮助实现了后端服务,而前端界面可能使用了JSP或HTML5、CSS3、JavaScript等技术进行构建,可能还涉及到了Ajax异步通信,以...

Global site tag (gtag.js) - Google Analytics