水晶报表开发
- 格式:doc
- 大小:348.50 KB
- 文档页数:4
建立水晶报表的过程:▪ 1 设置DataSet数据源,建立数据集▪可以根据向导制作,过程简单。
▪ 2 建立报表▪使用上面的DataSet数据源,可以采用向导或手工,操作基本相同。
▪ 3 显示报表▪建立一个窗体(在此窗体中显示报表),▪窗体中添加crystalReportViewer控件(此控件用于显示具体的报表)▪在报表显示前指定一个DATESET作为数据源为报表的各个字段赋值▪把此报表指定给crystalReportViewer控件数据表说明[货物信息表](1)添加数据集(2)添加控件前的设置,如此图的dsn 设置点[新建连接]按钮后弹出界面(4)回到上一个界面后,点下一步请选择使用SQL语句,否则将一次多出四个存储过程,相对来说比较混乱。
而我们这里用的数据集仅目的是为了建立报表的时候可以设置报表字段。
(5)继续点下一步(6)点查询生成器,添加需要的数据库表(7)可以随意设置,自动会生成SQL语句,也可以点[执行查询]察看效果(8)点确定回到向导设置界面出现SQL语句(9)下一步保持默认(10)点完成(11)得到的数据集右键点配置,可以得到SQL 语句同时可以修改SQL点预览数据可以察看SQL语句执行结果(12)重点:这里的数据集对象是为了进行报表的设置,也就是说在报表设计的时候可以直接指定哪个位置显示什么字段,而字段的可以从上面做的数据集中直接拖出,比较方便。
如果报表显示的时候应该动态的为此报表提供查询出的数据集,提供数据集的方法依然是通过代码执行存储过程或者SQL语句来完成的ADAPTER对象的FILL方法。
因此我们拷贝上面查询分析器生成的SQL语句制作一个存储过程二)建立报表自动会弹出,选择报表向导拖动我们刚才设置的数据集到右边选择字段下一步这里我们不需要分组,所以不用设置下一步我们不需要筛选,如果需要筛选,右面图是个筛选例子最后设置报表风格,右面可以清楚显示预览效果,自己选择,建议标准符合常规建立的新报表如下设置页眉(1)报表页眉是每个报表的标题部分,默认状态时不显示,点击右键之后选择变为可显示状态可以拖动下面的页眉部分,来调整报表页眉的大小工具中拖个文本对象到报表页眉写字并设置大小拖个温州大学图标到界面上预览报表这种效果是正常的,数据很随意报表一般都有表格把文字隔开,如上图报表效果不美观,需要添加表格线注意可疑在页眉中标题的上下画2条线,而在详细资料部分只需文字下面绘制一条线,原因是报表页眉和页脚都是出现一次的地方,绘制的效果是编辑的效果,而详细资料部分是个模板位置,仅需要设置一行就可以产生无数行效果,而每一行都有下画线,这样上行的下画线将成为下行的上画线。
水晶报表基础操作从入门到精通1、水晶报表注册码在使用自带的水晶报表时,请注册,否则只能使用30次,水晶报表注册码如下:注册号:6707437608密码:AAP5GKS0000GDE100DS2、中使用水晶报表我们采用下面的几步使用Push模式执行水晶报表:1设计一个DataSet右击“解决方案浏览器”,选择“添加”--“添加新项”-->“数据集”,从“服务器资源管理器”中的“SQL Server”中拖放“Stores”表(位于PUBS数据库中)。
再将此表拖入数据集中。
而 .xsd文件中仅仅包含一个结构图,但是不会有任何数据在里面。
2创建一个.rpt文件同时将其指定给上一步建立的DataSet。
使用上面的介绍过的方法创建此文件,唯一的不同就是使用数据集来代替前面的直接连接数据。
建立.rpt文件之后,右击“详细资料”-->“添加/删除数据库”,在”数据库专家“窗口中,展开”项目数据“(代替以前的OleDb),展开“数据集”--“DataSet1”,选择“Stores”表。
将“Stores”表添加到“选定的表”中,点击“OK”。
3在aspx页面中拖放一个CrystalReportViewer控件同时将其与前面的rpt文件建立联系。
使用PULL模式下的方法,建立一个WebForm,添加一个Crystal Report Viewer 控件,并设定其属性,此处与PULL模式下是一致的。
代码如下:private void Page_Load(object sender, System.EventArgs e{DataSet1 ds = new DataSet1(;oCR = new MyReport(;SqlConnection MyConn = newSqlConnection(ConfigurationSettings.AppSettings["SqlConn"];MyConn.Open(;//直接访问数据表//string strSel = "select * from tbtree";//SqlDataAdapter MyAdapter = new SqlDataAdapter(strSel,MyConn;//MyAdapter.Fill(ds,"tbtree";//使用存储过程SqlCommand cmd = new SqlCommand("display", MyConn;mandType = CommandType.StoredProcedure;SqlDataAdapter MyAdapter = new SqlDataAdapter(cmd;MyAdapter.Fill(ds,"tbtree";oCR.SetDataSource(ds;}注意:在上面的代码中,你得注意一下oRpt是"Strongly Typed"的报表文件。
VB中水晶报表使用第一步:在VB工程中Project菜单加入"Add Crystal Report 9",报表名使用默认即可。
这时Form2(Crystal Rerport自动添加的Form,假设名为Form2)被自动分配了如下代码:Option Explicitdim Report as New Cystal1Private Sub Form_Load()Screen.MousePointer = vbHourglass '调用水晶报表时置鼠标为沙漏状CRViewer91.ReportSource = Report '该语句的赋值将在后面被修改CRViewer91.ViewReportScreen.MousePointer = vbDefault '调用水晶报表完成后置鼠标为默认形状End SubPrivate Sub Form_Resize()CRViewer91.Top = 0CRViewer91.Left = 0CRViewer91.Height = ScaleHeightCRViewer91.Width = ScaleWidthEnd Sub第二步:点击Crystal Report设计器的"数据库字段",选定"数据库专家...",然后点"创建新连接",再点"仅字段定义",创建"数据库定义"文件,字段名和宽度和原数据库表保持一致。
最后,在数据库字段中获得了相应字段,将其置于报表上,按水晶报表的要求配置。
第三步:该步骤非常关键,添加一个Modual到工程文件中,定义全局的ADODB变量,实现数据库和水晶报表的动态连接。
代码如下:Public conn As New ADODB.ConnectionPublic rs As New ADODB.Recordset第四步:关于VB程序的ADO数据库连接注意事项,请看下面的打印按钮例程。
ifs9水晶报表开发流程下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!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. 需求分析与用户沟通,了解报表的需求和功能。
确定报表的数据源、格式、布局和输出要求。
创建简单水晶报表步骤1:打开VS工具,新建解决方案和项目2:先创建一个一个ds文件,在ds文件中添加一个datatable,并添加需要显示的列(此处的列和你从数据库中查询出来的字段名称相同),右击属性,选择相应字段的相应类型3:创建水晶报表文件(rptShow)选择标准- 在项目数据中找到刚刚创建好的数据集,并选择相应的datatable至右面的文本框中,点击完成,创建好报表文件。
5-1:在我做的报表文件中主要遇到的一个困难是求和;所以这里特别记录下1:新建【运行总计字段】并取名,这里设计名称为:Sum_Qty从报表字段中选择需要求和的字段,在汇总类型中选择和即可,此种方法为其一,还有一种方法则是建立好名称后,在公式工作室选择公式--→函数-→选择需要的函数并把相应的字段填充进去,我这里需要的是数量的求和,所以,选择好后是Sum(Qty) 即可,然后直接把之前创建好的名称放在报表文件中。
2:求和不同类型的数据,则需要进行判断,在我的数据库中有金和石两种数据,所以我要对石和金进行统计并求和。
同样需要创建运行总计字段,Sum_Qty,进入到公式工作室,找到刚刚创建好的运行总计字段名称(Sum_Qty),在右面的空白处写上判断格式:if UOM=’G’ then金的重量字段4:调整好相应的格式,再新建一个项目文件(这里是针对winform程序,web的我还没试过,等试了再写)5:在form表单中拉近一个报表显示控件,如图:6:编写代码实现报表的显示:Dim rpt As New rptDetails ------rptDetails 指的前文创建的报表文件名称Dim ds As New dsSummary.DeatilsQtyDataTable ------dsSummary(创建的数据集文件,DeatilsQtyDataTable 指的是数据集中,你想要使用的数据表,在此使用时,它会自动加上DataTable后缀,其实代表的就是你数据集中的DeatilsQty)rpt.SetDataSource(DBHelper.GetDetailsSummary(ds, PosCodes, txtFrom.Text.Trim,txtTo.Text.Trim)) -----调用方法(该方法返回的是dataTable类型)Me.rptShowDetails.ReportSource = rpt ---填充报表7:完成,显示效果如图:。
●新建一个项目:文件>>>>新建>>>>项目>>>Windows窗体引用程序●建报表1.右键添加“新建项”,选择“Crystal报表”(后缀名为.rpt)添加报表以后,项目下的引用会出现以下关于报表本身自带的数据集:2.选择“作为空白报表”3报表的大小在Crystal Reports(R) >>> 设计>>>打印机设置>>>大小4可以用线条对象,框对象画表格,用文本对象添加显示的文本5以下这些字段都可往报表里直接拖拽也可点击右键“插入“点击“主报表预览“效果:页眉:时一张表的表头详细资料:是要显示的数据(如果要打印预览的话,可以把所有的字段都放到详细资料里) 美化表格1.按住“Ctrl”键+鼠标左键点击文本对象右键“设置多个对象的格式”文本在表格里对齐方式:选中文本对象右键“设置多个对象的格式”>>> “共用”>>> 水平对齐方式:默认,左,居中,右,两端对齐。
文本四周添加边框:选中文本对象右键“设置多个对象的格式”>>>“边框”:无,单线,双线,短划线,点线。
调整文本字体:选中文本对象右键“设置多个对象的格式”>>> “字体“:段落:选中文本对象右键“设置多个对象的格式”>>> “段落“超级链接:选中文本对象右键“设置多个对象的格式”>>> “超级链接“1.右键添加“新建项”,选择“程序集”(后缀名为.xsd)2.工具箱>>>>数据集:拖拽一个DataTable 右键添加“列”注意:表名与sql查出来的表名取名要一致。
每一列的值跟数据库里字段的类型一致(点击“每一列“属性里的DataType)报表里进行汇总只能针对数字类型加载数据集1.右键“数据库字段”>>>“数据库专家”>>>“数据集”:把需要的数据源选中后点击“”如果添加了新的字段后选中“数据库字段”右键点击“验证数据库”即可刷新新的字段。
为什么水晶报表那么麻烦,每做一张报表都要选表,画线画格子,有没有一种方法可以一劳永逸?做一个模板,然后用不同的表都能用?还有就是能不能动态选择列,而且选择列后能报表能自动适用这个变化?甚至有些人也因为放弃了水晶报表,实际上这些都是水晶报表可以做到的。
在这里,我来讲解一下原理和实现。
希望该文章,能基本上解决这个问题。
当然,这个也不是万能的,也有其适用环境。
本文开发环境:VS2005 / CR XI R2 for .Net第一步:新建一个C#的水晶报表的WinForm空白项目。
在弹出报表数据源选择框的时候,不要选择任何任何数据源,直接点确定,创建一个空白报表。
第二步:项目中添加一个Dataset1.xsd,手工建立一个DataTable,命名为B igTable。
建立6个字段,全部为String型。
为什么用6个呢?这个数字6的确立,是根据你的实际需要,这个表的列的数目,需要大于等于你所需要操作的事实表的最大列数。
用为什么用String型呢?我们知道基本上所有的基础数据类型都可以转换为String,这样我们的这个表基本上可以容纳所有的数据类型。
好了,在报表中添加这个B igtable.将6个字段拖到详细资料节。
对齐。
()注意!不要使用框和线来画格子,这里用的是字段边框,初次操作可以暂时不用,我后面会专门讲一下这个格线的处理。
好了,这样我们的万能模板就做成了。
很简单,是吗?呵呵。
第三步:在w inform上拖上一个combox,一个button,用默认名称接口。
combox1用来选表的名称。
这样界面也完成了。
第四步:实现原理上面的几步下来,有经验的朋友基本上看出来我们是要用PUSH模式来实现了。
既然我们已经在报表里用到了BigTable,那么我们要传递给报表的数据,也就要整形成B igTable的样子。
也就是说,只要能把来源数据表的数据,整形成B igTable的样子,就能用这一个模板显示出来。
而不用管来源表从哪里来,表名是什么,有几个字段(但是字段数目需要小于等于6),字段名是什么,有多少数据。
创建简单水晶报表步骤
1:打开VS工具,新建解决方案和项目
2:先创建一个一个ds文件,在ds文件中添加一个datatable,并添加需要显示的列(此处的列和你从数据库中查询出来的字段名称相同),右击属性,选择相应字段的相应类型
3:创建水晶报表文件(rptShow)
选择标准- 在项目数据中找到刚刚创建好的数据集,并选择相应的datatable至右面的文本框中,点击完成,创建好报表文件。
5-1:在我做的报表文件中主要遇到的一个困难是求和;所以这里特别记录下
1:新建【运行总计字段】并取名,这里设计名称为:Sum_Qty
从报表字段中选择需要求和的字段,在汇总类型中选择和即可,此种方法为其一,还有一种方法则是建立好名称后,在公式工作室选择公式--→函数-→选择需要的函数并把相应的字段填充进去,我这里需要的是数量的求和,所以,选择好后是Sum(Qty) 即可,然后直接把之前创建好的名称放在报表文件中。
2:求和不同类型的数据,则需要进行判断,在我的数据库中有金和石两种数据,所以我要对石和金进行统计并求和。
同样需要创建运行总计字段,Sum_Qty,进入到公式工作室,找到刚刚创建好的运行总计字段名称(Sum_Qty),在右面的空白处写上判断
格式:if UOM=’G’ then
金的重量字段
4:调整好相应的格式,再新建一个项目文件(这里是针对winform程序,web的我还没试过,等试了再写)
5:在form表单中拉近一个报表显示控件,如图:
6:编写代码实现报表的显示:
Dim rpt As New rptDetails ------rptDetails 指的前文创建的报表文件名称
Dim ds As New dsSummary.DeatilsQtyDataTable ------dsSummary(创建的数据集文件,DeatilsQtyDataTable 指的是数据集中,你想要使用的数据表,在此使用时,它会自动加上DataTable后缀,其实代表的就是你数据集中的DeatilsQty)
rpt.SetDataSource(DBHelper.GetDetailsSummary(ds, PosCodes, txtFrom.Text.Trim,
txtTo.Text.Trim)) -----调用方法(该方法返回的是dataTable类型)Me.rptShowDetails.ReportSource = rpt ---填充报表
7:完成,显示效果如图:。