ContractReportFilterUI制作报表
web报表开发工具KOneReport教程:快速制作饼图图表

教程2:web报表开发工具KOneReport教程:快速制作饼图图表
使用web报表开发工具KOneReport,快速制作一张图表(饼图)
步骤1:进入【KOneReport报表系统】,访问功能导航【报表设计开发】>>【报表设计器】。
步骤2:【报表设计器】列表界面,默认显示所有已经创建的报表。
点击工具栏【新增】按钮,设计一张新报表。
步骤3:在设计报表的操作界面,依次输入【报表名称】、报表数据取数的【报表SQL语句】,并点击工具栏【更新】按钮。
报表系统将自动获取报表SQL语句中的字段,并更新到字段列表。
步骤4:依次为报表的【字段编号】输入【字段名称】,并指定【图表配置】项中的【系列图表类型】:
【月份】设为【x轴】,
【数量】设为【饼图(x)】。
步骤5:点击【图表选项】,在【显示图表】项中,选择图表显示的布局类型。
步骤6:点击【高级选项】,在【报表分类】项中,选择报表存储目录分类。
报表将在该分类目录中显示。
如果不选择,报表将在【默认类报表】分类目录中显示。
步骤7:点击工具栏【保存】按钮,保存报表。
步骤8:浏览报表最终呈现结果,可以访问功能导航【销售类报表】(设计报表时,【报表分类】选择【销售类报表】),点击报表名称。
05 使用Report Builder设计报表

设计报表的两种方式
※创建SQL Server Report Service项目
※ Report Builder 2.0 报表设计工具
不需要安装SQL,是一款类似Office 的简单易用的报表设计工具
区别
※ SQL SERVER REPORT SERICE项目文 件包含:.SLN,.SUO,RDL
Report Builder 的报表发布
设置Report Builder的报表发布路径
Report 项目中 的报表发布
数据源存放的文件夹 报表存放的文件夹
设置Report 项目中的报表发布路径
用Report Builder 2.0打开在Report项目中创建 的报表需修改数据源
数据源需连接 到站点上
※ REPORT BUILDER 2.0 只有.RDL,不 生成项目
区别
※Report项目:需安装SQL 2008 Reporting Service
※ Report Builder 2.0 :无需安装SQL 2008 Reporting Service, 方便了客户端自定义报表
区别
Report Builder的报表发布
使用Report Builder设计报表
使用报表查看数据
源系统
Cube多维数 据集
1
设计数据仓库
2
导入数据仓库
3
建设Cubes
客户端
查询工具 报表 分析
数据Байду номын сангаас掘
4
查询数据
※用Report Builder 2.0设计一张报表
※使用Report项目和Report Builder 2.0创建报 表的区别
ASP.NET中利用Crystal Report创建图表(2)

中利用Crystal Report创建图表(2)本文关键字:此外,为了给业务主管看到某个时期的销售情况,创建如下其中,业务主管可以选择查看某样货品在某个时期(选择开始日期,结束日期)的销售情况,以图表方式显示。
这里特别值得一提的是,日历控件的使用。
在页面中放置日历控件后,设置如下代码:<input type="image"src="/itedu/200802/datepicker.gif" alt="Show Calender" runat="server" id="ImgCal1" name="ImgCal1">这里设置page_validationactive参数为false,所以不需要重新提交页面,并且,在onserverclick事件中,设置处理的代码,如下所示:public void ShowCal1(Object sender,System.Web.UI.ImageClickEventArgs e){ //显示日历控件DtPicker1.Visible = true;}当用户选择了相关的日期后,在文本框中可以获得相关的日期:private void DtPicker1_SelectionChanged(object sender,System.EventArgs e){txtStartDate.Text = DtPicker1.SelectedDate.ToShortDateString();DtPicker1.Visible = false;}在提交的页面中,处理的代码如下:private void bSubmit_ServerClick(object sender, System.EventArgs e){Response.Redirect("ViewReport.aspx?ItemId=" +cboItemType.SelectedItem.Value + "&StartDate=" + txtStartDate.Text + "&EndDate=" + txtEndDate.Text);}在提交页面后,将跳转到浏览报表的页面viewreport.aspx,传入相关的参数,如货品ID,开始和结束日期。
水晶报表CryStalReport简单应用精选全文

可编辑修改精选全文完整版水晶报表CryStalReport使用教程(动态数据绑定)
第一步:添加水晶报表报表
1、右击鼠标,选择水晶报表
2、选择作为空白报表
第二步:添加数据集DataSet 1、右击鼠标,选择数据集
2、单击工具箱,拖拽一个DataTable到右边
3、根据数据表设计好DataTable
第三步:设计报表
1、从工具箱拖拽一个文本对象到页眉,并输入文字
2、选择字段资源管理器,右击数据库字段,选择数据库专家
3、从我的连接中选择MYDataSet到右边的选定的表
4、从左边的数据库字段中拖拽一些需要的字段到右边详细资料
5、展开特殊字段,拖拽一个第N页共M页,到页脚
第四步:添加页面
在页面中添加一个CryStalReportViewer控件
第五步、双击页面,编写数据绑定代码
protected void Page_Load(object sender, EventArgs e)
{
BLL.QueryAllStuService Qas = new BLL.QueryAllStuService();
MyCrystalReport Mcr = new MyCrystalReport();
Mcr.SetDataSource(Qas.QueryAllStudents());
CrystalReportViewer1.ReportSource = Mcr;
}
单击F5,运行效果如下:。
报表制作过程

报表编辑过程报表的部署过程1.首先,如果是第一次部署报表,首先拷贝报表引擎所需的文件:•从%安装路径%\Deployment\JSP下拷贝Ming.tld到Web应用程序的WEB-INF目录下•从%安装路径%\Deployment\JSP下拷贝mr.jar(文件名可能不同,可能如mr_Trial.jar等)到Web应用程序的WEB-INF/lib目录下,如果lib目录不存在则创建。
•选择一个目录作为报表根目录(RootPath),如/YourApp/Reports/,从%安装路径%\Deployment\JSP\下拷贝ReportCenter.jsp到报表根目录/YourApp/Reports/。
•从%安装路径%\Deployment\JSP\下拷贝文件MREngine.prop到目录/YourApp/WEB-INF/下。
MREngine.prop文件中包含一个MRViewerVersion参数,类似MRViewerVersion=2,1,1,0,“2,1,1,0”描述的是报表浏览器的版本号码,浏览器升级之后,需要在此指定新版本的版本号,这样客户端才可以自动下载新版本的浏览器插件。
关于配置文件MREngine.prop中参数的详细说明请参考配置文件里面注释。
•从%安装路径%\Deployment下拷贝Viewer文件夹到报表根目录/YourApp/Reports/下,Viewer文件夹中有MRViewer.cab文件,这就是报表浏览器插件。
2.拷贝已经用报表设计器设计好的报表模板到报表根目录或者根目录下的子文件夹下面注意:如果你的应用程序是YourApp,那么你可以指定这个应用程序YourApp下的目录“/Reports/”作为你的报表的根目录。
即:“/Reports/”。
3. 创建JSP页面,嵌入报表浏览器、为报表准备数据:新建一个JSP文件,用于显示报表,如FirstReport.jsp,加入下面代码:•引用Tag Library<%@ taglib uri="Ming.tld" prefix="ming" %>•引用需要的包<%@ page import="com.ming.webreport.*" %>•创建MREngine对象MREngine engine = new MREngine(pageContext);•设置报表根路径engine.setRootPath("/Reports/");注意此处不应该包含应用程序的虚拟目录“YourApp”,而是从虚拟目录的根开始,应该是“/Reports/”。
标准报表文档2016-1-8

标准报表文档1、首先新建两个用户界面,过滤界面(filterUI)、报表主界面(mainUI)和功能facade;(1)、filterUI在新建的时候要继承父类:mRptBaseConditionUI (2)、mainUI在新建的时候要继承父类:mRptBaseUI(3)、新建一个Facade,方便我们后面处理后台事务,继承父类:mRptBase并且在该功能中添加2个方法:A.createTempTable(RptParams params)B.query(RptParams params, int from, int len)发布生成相应的类:filterUI.java,mainUI.java,FacadeControllerBean.java 2、在filterUI过滤界面中需要注意的方法/****设置过滤条条件到FilterUI界面控件,需要解析过滤条件组装*/public void setFilterInfo(FilterInfo filterInfo) {super.setFilterInfo(filterInfo);}/****参数设置*/@Overridepublic void setParam(Object condition) {super.setParam(condition);}/***初始化参数*/public void onInit(RptParams arg0) throws Exception {}/****设置解决方案控件保存***/public void setCustomCondition(RptParams arg0) {kDBizPromptBox1.setValue(paramRptParams.getObject("deptObject"));kDDatePicker1.setValue(paramRptParams.getObject("startDate"));}/****获得页面参数* 注意:存入的值必须是object对象。
自定义报表的简单流程

自定义报表的简单流程下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!自定义报表创建流程。
1. 定义报表需求。
明确报表的用途和受众。
报表系列之UI设计

报表系列之UI设计之前的⽂章讲述的都是如何测试报表的正确性。
其实,除了报表的正确性,我们还需要关注报表的UI测试。
所谓UI测试,并不单指根据UI标准对报表进⾏检查,还需要我们站在⽤户的⾓度去考量报表的易⽤性。
除了保证计算的正确性,我们还需要让报表变得更专业。
变得专业,指报表应符合⾏业的标准,且考虑⽤户的使⽤,报表应变得更易懂,重点更突出。
UI设计是变专业的关键。
试想⼀下,如果⼀份报表字体不统⼀,⼤⼩不⼀致,颜⾊使⽤混乱,即使报表的计算值再具有参考价值,也⽆法让⽤户满意。
因此,在设计和测试中,我们应该多重视UI。
1.善⽤颜⾊我在写平时的email或者交付测试报告的时候,经常被⽼板提醒颜⾊的使⽤。
在同⼀个页⾯中,最好不要出现多于3种颜⾊。
因为本来颜⾊的使⽤是为了突出重点,然⽽如果过多地使⽤颜⾊,就等于到处都是重点,最后的结果就是没有重点。
因此善于使⽤颜⾊也是UI设计的关键。
¨使⽤颜⾊区分报表的类别这样做是为了⽅便⽤户区分报表。
例如,把红⾊加粗字体应⽤于销售类报表名,把蓝⾊加粗字体应⽤于出勤类报表。
那么⽤户以后看见红⾊标题的页⾯就知道是销售类;蓝⾊标题的页⾯就知道是出勤类了。
¨应⽤颜⾊区分阈值数据如,对于销售类报表,Manager们关⼼的是没有达到销售指标的区域。
如果报表中对没有达到指标的数据均以红⾊字体呈现,那么Manager⼀打开页⾯⼀眼就可以从众多的数据中看到他最关⼼的部分,⼤⼤提⾼了阅读报表效率。
2.统⼀格式⼀般报表分为两⼤部分,表头(Head)和表体(Body)。
表头,⼀般放置报表名称以及查询条件;表体,由表格形式的报表组成,可以为⼀个也可以为多个(⼦报表)。
在统⼀格式⽅⾯,我们需要注意的地⽅有:¨字体不同的地⽅应使⽤不同的标准,如,表头中的报表名称,表体中的统计值的字体和⼤⼩应该不⼀样;然⽽不同的报表的报表名称应使⽤⼀种字体和⼤⼩。
¨表格定义最⼩单元格,⽽报表中只能使⽤最⼩单元格的整数倍作为表格的⼤⼩。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
F7 控件以及其他控件在选用板中添加,绑定 进行绑定
F7 的实体对象 在 F7 的属性下使用 queryinfo
3 ContractReportUI: 报表展示页面, 新键需要继承系统 UI 类,需要添加一个 KDTABLE控件, 右击该表格,可以编辑表信息, 即添加列跟头,注意列名需跟表头对应起来。需要新 建一个表头跟列名对应起来。
} if (params.getObject( "cat" ) != null ){
kDBizPromptBox2 .setValue(params.getObject(
"cat" ));
}else { kDBizPromptBox2
}
.setValue( null );
if (params.getObject( "address" ) != null ){ kDBizPromptBox3 .setValue(params.getObject(
1 报表需要建的文件
报表开发步骤
可以在设计建模新建一个文件夹 也可以在业务建模下新建 2 ContractReportFilterUI : 报 表 弹 出 的 条 件 选 择 框 , 即 过 滤 界 面 , 新 建 需 要
mRptBaseConditionUI
}else { departmentF7 .setValue( null );
} if (params.getObject( "status" ) != null ){
kDBizPromptBox1 .setValue(params.getObject(
"status" ));
}else { kDBizPromptBox1 .setValue( null );
rpt.setString( "bar" , kDTextField3 .getText()); } else {
rpt.setString( "bar" , null ); } // 编码 if (!StringUtils. isEmpty (kDTextField4 .getText())) {
}else { kDTextField1 .setText( null );
}
if (params.getObject( "asserts" ) != null ){ kDTextField2 .setText(params.getString(
"asserts" ));
}else { kDTextField2 .setText( null );
public class ContractReportFilterUI extends AbstractContractReportFilterUI { private static final Logger logger = CoreUIObject .getLogger (ContractReportFilterUI. class ); /** * output class constructor */ public ContractReportFilterUI() throws Exception { super (); setSize(400, 300); // 设置初始化大小
rpt .setObject( "department" , this .departmentF7 .getValue()
.toString()); } else {
rpt.setObject( "department" , null ); } // 使用状态 if (this .kDBizPromptBox1 .getValue() != null ) {
} if (params.getObject( "bar" ) != null ){
kDTextField3 .setText(params.getString(
"bar" ));
}else { kDTextField3 .se.getObject( "number" ) != null ){
}
@Override
public void onLoad() throws Exception {
NewOrgViewF7PromptDialog f7 =
new NewAdminF7( this );
// NewOrgViewF7PromptDialog f7 = new NewF7(this);
rpt.setString( "technology" , kDTextField5 .getText()); } else {
rpt.setString( "technology" , null ); } return rpt; }
// 系统初始化方法 ,你可以初始化控件,也可以初始化控件值 @Override public void onInit(RptParams params) throws Exception {
rpt.setString( "number" , kDTextField4 .getText()); } else {
rpt.setString( "number" , null ); } // 技术编码 if (!StringUtils. isEmpty (kDTextField5 .getText())) {
ContractReportFilterUI 方法说明 getCustomCondition :用于获取报表界面的界面参数,也可以理解成过滤信息 setCustomCondition: 用于将弹出 UI 的界面参数保存起来,和上面方法对应 onInit : 系统初始化方法 ,你可以初始化控件,也可以初始化控件值 verify :验证输入信息。
"address" ));
}else { kDBizPromptBox3 .setValue( null );
} if (params.getString( "Specifications" ) != null ){
kDTextField1 .setText(params.getString( "Specifications" ));
f7.setShowAssistantOrg( false );
f7.setIsCUFilter( false );
f7.setShowVirtual( true );
f7.setContainSealUp( false );
f7.setNeedAddAssistant( true );
f7.setPermissionItem( "gl_voucher_add" );
rpt.setObject( "status" , ((FaUseStatusInfo) this .kDBizPromptBox1 .getValue()).getId().toString());
} else { rpt.setObject( "status" , null );
} // 资产类别 if (this .kDBizPromptBox2 .getValue() != null ) {
showError (" 请选择部门 " );
return super .verify();
} }
ContractReportUI
方法说明
getParamsForInit:
从弹出 UI 获取界面参数
getQueryDialogUserPanel
:指定弹出 UI 类
getRemoteInstance
:远程调用查询的接口
}
// 用于获取过滤报表界面的界面参数,也可以理解成过滤信息 @Override public RptParams getCustomCondition() {
RptParams rpt = new RptParams(); if (this .departmentF7 .getValue() != null ) {
}else { kDTextField5 .setText( null );
}
}
public boolean verify() {
if (departmentF7 .getValue() == null || "" .equals( departmentF7 )) {
com.kingdee.eas.util.client.MsgBox. SysUtil. abort (); }
}
// 用于将弹出 UI 的界面参数保存起来,和上面方法对应(保存方案中获取保存的值) @Override public void setCustomCondition(RptParams params) {
if (params.getObject( "department" ) != null ){ departmentF7 .setValue(params.getObject( "department" ));
getTableForPrintSetting
:获取表格打印设置
query :查询对话框点击确定后执行
public class ContractReportUI extends AbstractContractReportUI { private static final Logger logger = CoreUIObject .getLogger(ContractReportUI.class);