原文:rpt水晶报表制作过程

最近公司安排一个以前的项目,里面需要用到水晶报表,由于原来做这个项目的同事离职,所在公司的同事报表做成了rdlc类型的,而这类报表在加载的时候很难动态的从数据库加载数据,问同事也说不出个所以然,这可怎么办?项目总不肯能不做吧?没办法只能查找rpt文件制作的办法,原来的微软自带的rdlc类型的报表做出来的样式很难满足需求,rdlc类型的报表如图(个人第一次做rpt类型的文件,难免有错误,欢迎指正):

我自己也从未做过报表,刚开始用vs不能正常打开原有的rpt文件,打开后全是二进制类型的乱码,上网百度了一下,没找到一个完整的解决办法(大多都说的比较抽象),只是看到大伙都在说vs2010后的版本就没有提供CrystalReport这个功能,后来看到一个论坛里的一个大哥说要下载CrystalReport这个插件,然后找了一个版本CRforVS_13_0_5下载安装关闭vs后再重新打开vs新建报表就果真看到了Crystal Report,大家应该都注意到了vs2012并没有rpt类型的CrystalReport这个类型的报表,需要安装CrystalReportForVs这个插件,建议下载CRforVS_13_0_5这个版本,下载地址:http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_13_0_5.exe

安装完成后,务必要关闭vs,然后在打开vs2012,vs2013版本我没安装所以不知道是否可以,按说是没有问题的,因为我安装的Crystal Report上面显示是支持vs2010,但实际是我安装的vs2012也支持。

好了废话不多说,安装CRforVS插件时如果你的系统是64位的,CRforVS安装完成后会自动提示你是否安装64位的,点击“是”即可,由于安装的时间比较长我就不在这儿截图演示了安装过程了,安装成功后,找到右边的解决方案资源管理器,选择你要新建.rpt文件的项目,右键项目目录,选择新建项,弹出一个添加新项的对话框,点击左侧的Reporting然后就可以看到右边多出来一个Crystal Report项,如图:

点击添加,弹出如下对话框:

从上图可以看出创建CrystalReport有三种创建方法:使用报表向导导,这种方式通常是新建模板时使用,点击确认后新建的rpt文件是一个包含报表头,页眉,详细资料,报表尾,页脚的空模板,里面什么都没有,需要自己来创建样式和内容,如果选择来自于现有的报表则会弹出来一个文本选择路径的对话框,找到要作为样板的rpt文件,点击确定即可创建一个原有模板的报表,而且里面的字段数据不会丢失。

我们选择“来自于现有的模板”,其他两种基本制作方法一样大同小异,创建成功后会生成一个原有报表的界面,如图:

,另外我们的工具箱也会有一个Crystal Reports还会多一个字段资源管理器,如图:

我们接下来就是要为报表添加数据源,在左侧或者“视图->其他窗口->数据源”,选择添加新数据源,会弹出如下图:

单击下一步,会弹出:

再单击下一步

选择”新建连接”

填好服务器名,选择好数据库,测试连接没问题的话,单击确定,会回到刚才的窗口,单击下一步,弹出:

选择好你要添加的表或者存储过程,起一个DataSet的名称,单击完成,左侧数据源就会多出我们刚才添加的数据源(如果没有就刷新下)

接下来隐藏数据源,不用再管它,回到报表窗口,

然后我们可以添加文本,例如我们在报表的页眉部分添加一个公司名,在报表上右键“插入”,选择“文本对象”鼠标上会出现一个文本框,我们把这个文本框放到我们想要的地方,给他命名为:“公司名称:”,(也可以插入文本文件,单击文本框,右键选择“自文本插入”,选择要读取的文件即可),右键空白处,选择数据库专家,弹出对话框

最后单击确定(注意一般右侧只能有一个表),

接下来,我们在字段资源管理器中选择我们要放到报表中的字段,如图我们选择companyName字段

报表图中如图(其他字段一样):

好了,报表基本制作完成,现在就创建一个WinForm窗体,窗体创建好后,找到左侧工具栏里面的ReportViewer控件,拖到窗体上,我们的窗体会变成:

如果我们的窗体弹出如下异常,我们就要删除引用里面的画线部分的类库:

接下来我们就是写代码了,

双击在Load事件中写入如下代码:

Public Shared Function Query(ByVal SQLString As String) As DataSet

Using connection As New SqlConnection(connectionString)

Dim ds As New DataSet()

Try

connection.Open()

Dim command As New SqlDataAdapter(SQLString, connection)

command.Fill(ds, "ds")

Catch ex As System.Data.SqlClient.SqlException

Throw New Exception(ex.Message)

End Try

Return ds

End Using

End Function

Private Sub FrmReport_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim sql As String

sql=”select * from outstoragebill”  ‘注意这里的sql语句中的列名必须和上面我们创建的字段管理器中的列名相同

Dim ds As DataSet = DbHelperSQL.Query(sqlstr)

Dim count As Int32 = ds.Tables(0).Rows.Count

For i = 1 To 9 - (count Mod 9)

ds.Tables(0).Rows.Add(New Object() {""})

Next

Dim rpt As New CrystalReport1()

'rpt.Load(Application.StartupPath & "RptOutstorage.rpt")

rpt.Load(Application.StartupPath & "../ CrystalReport1.rpt")’这里的‘CrystalReport1是我们刚刚创建的报表名,到此水晶报表制作完成

rpt.SetDataSource(ds.Tables(0))

CrystalReportViewer1.ReportSource = rpt

End Sub

完成后如图所示:

rpt水晶报表制作过程的更多相关文章

  1. 机房收费系统(VB.NET)——超具体的报表制作过程

    之前做机房收费系统用的报表是Grid++Report,这次VB.NET重构中用到了VisualStudio自带的报表控件. 刚開始当然对这块功能非常不熟悉,只是探究了一段时间后还是把它做出来了. 以下 ...

  2. winform,水晶报表制作

    1.安装最新的 SP:(SP 29 示例 – https://origin.softwaredownloads.sap.com/public/file/0020000001636412020) 2.新 ...

  3. Visual Studio 2012使用水晶报表Crystal Report

    原文:Visual Studio 2012使用水晶报表Crystal Report SAP在 2013年1月14日 released SAP Crystal Reports,developer ver ...

  4. asp.net core使用水晶报表问题

    背景     最近项目上遇到一个需求,要后台通过定时任务把水晶报表生成pdf文件,然后邮件发送给相关人. 技术实现思路     选用ASP.NET Core框架(基于2.2版本),通过IHostedS ...

  5. 水晶报表的宽度调整方法(设计器、代码调整、rpt文件属性)

    水晶报表的宽度调整方法(设计器.代码调整.rpt文件属性) Posted on 2010-08-07 23:52 moss_tan_jun 阅读(1725) 评论(0) 编辑 收藏 经过个人反复研究后 ...

  6. 用stimulsoft Reports报表工具制作简单报表的过程

    这是在数据库sql server中People表的数据

  7. SAP B1:水晶报表中用Code128制作条型码的方法

    一.在[文件系统]中新建一个[Fonts文件夹],然后添加[Code128.ttf]文件. 二.在水晶报表里的[字段资源管理器]的[公式字段]中新建一个公式字段.点击[使用编辑器]之后弹出[公式工作室 ...

  8. 水晶报表中用Code128制作条型码的方法

    一.在[文件系统]中新建一个[Fonts文件夹],然后添加[Code128.ttf]文件. 二.在水晶报表里的[字段资源管理器]的[公式字段]中新建一个公式字段.点击[使用编辑器]之后弹出[公式工作室 ...

  9. [转]VS2010中水晶报表安装应用及实例

    基本分类如下:第一部分:VS2010简介VS2010是微软的提供的一套完整的开发环境,功能也是相当的大微软宣布了下一代开发工具和平台的正式名称,分别称为“Visual Studio Team Syst ...

随机推荐

  1. VS2013上利用InstallShield2013LimitedEdition/C#生成安装包

    1.文件-新建项目-其它项目类型-安装和部署 一開始是没有InstallShield2013LimitedEdition这个软件的.你须要去站点上填写信息而且下载 2.填写信息下载 訪问站点:http ...

  2. Advanced Installer 9.8打包实录

    原文 Advanced Installer 9.8打包实录 主要介绍:(1)创建工程,(2)创建快捷方式及其图标(3)卸载设置 创建工程(.net为例): 工程创建完成....接下来进行简单设置 开始 ...

  3. matlab练习程序(PCA<SVD>)

    clear all;close all;clc;img1=imread('Corner.png');img2=imread('Corner1.png');img3=imread('Corner2.pn ...

  4. SEO思维的优化源于生活

    [回顾]无论哪个行业的,.学习技巧和操作非常简单,它主要是一个时间的问题?回到seo行业,操作和技能是非常easy学习,和seo入门是互联网行业最easy行业,不像有些人理解的代码,敲代码等,它必须基 ...

  5. 字符串属性 NSMutableAttributedString/NSAttributedString

    因为iOS7新出的NSTextStorge是NSMutableAttributedString的子类.所以要用好NSTextStorage.首先要学好NSMutableAttributedString ...

  6. windows平台下载android源代码

    最近观看<android核心分析>,所以很多细节都没有详细看代码很难理解.请记住,印象不深.感觉是最好再一起去的源代码,返回下载android源代码,遇到了许多问题,最后开始下载.合并流程 ...

  7. quick-cocos2d-x游戏开发【6】——制作您自己的自定义效果button菜单

    前面提到的主菜单使用,还是很easy的,但我们在商业产品.经常看到button他们人很好,照片不仅就好了,和动画也很不错.Candy Crash都玩过吧,他们看到,button.真的像果冻,效果确实非 ...

  8. HDOJ 3037 Saving Beans

    如果您有n+1树,文章n+1埋不足一棵树m种子,法国隔C[n+m][m] 大量的组合,以取mod使用Lucas定理: Lucas(n,m,p) = C[n%p][m%p] × Lucas(n/p,m/ ...

  9. NYOJ 330 一个简单的数学

    一个简单的数学题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描写叙述 zyc近期迷上了数学,一天,dj想出了一道数学题来难住他.算出1/n,但zyc一时答不上来希望大家能 ...

  10. JAVA于Get和Post差异请求

    1. get 离server在对数据的访问.post 它是对server数据的传输. get 请求返回 request - URI 随机信息指出,. Post 请求发送电子邮件.观看新闻或交互式用户发 ...