您的位置:首页 > 数据库

利用CrystalReport与C#生成报表(vs2010+sql2008)

2013-05-25 20:34 507 查看
利用CrystalReport与C#生成报表(vs2010+sql2008)
 请看图1,这份报表有多复杂?猜猜它需要多少时间完成?就复杂而言,它只是一份简单的、从Share>Student (SQL Server 2008)中提取出来的报表;就时间而言,相信不会花你很多时间吧。



开始之前说明:VS2010本身是没有CrystalReport。要进行下载安装。安装成功之后,就可以继续完成下面的步骤。

下面,我们开始创建报表,首先要编写一个生成报表的C#小程序。

第一步:创建一个Windows应用程序

选择文件菜单,新建-工程,从工程类型中选择C#,从右方对话框中选择Crystal Reports应用程序;



接着点击确定,出现下图所示:



选择作为空白报表,点击确定。

第二步:为工程添加数据集(DataSet)

  数据集是伴随报表查看器而来的,它保存并提供从数据源而来的原始数据。

请依照如下步骤添加数据集:

  1、从解决方案资源浏览器中选择添加-新建项-数据集,并单击添加按钮完成。如图所示:



2、将你所要输出的数据表添加到数据集(DataSet1)中.

以下为添加数据表到数据集(DataSet1)中:

首先打开VS2010的服务器资源管理器:找到你所要添加的表(我这里的表是数据库:Share的表:Student),



然后鼠标点击该表Student不放,拖动到右边的DataSet1.xsd.。结果如下图:



第三步:设计报表

1、 双击解决方案资源管理器的CrystalReport1.xsd:

首先在报表头添加报表标题(我这里标题是学生基本信息一览表),在页脚添加第N页共M页打印时间。(这些可用特殊字段直接生成)。



2、在字段资源管理器右击数据库字段数据库专家,如下图所示:



3、展开字段资源管理器的节点,如图:



4、将所要输出的Student的StuID、Name、Sex、Class、Telephone、Location依次拖到报表的详细资料处。



第四步:编写赋予报表生机的C#代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using CrystalDecisions.Shared;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Windows.Forms;
using System.Data.SqlClient;

namespace CrystalReportsApplication1
{
public
partial class
Form1 : Form
{
publicForm1()
{
InitializeComponent();
}

privatevoid Form1_Load(objectsender,EventArgs e)
{

DataSet1 ds =new
DataSet1();

using (SqlConnectioncon =new
SqlConnection(“这里是连接字符串,自己自行添加自己实际的连接字符串”))

{
SqlDataAdapter da =new
SqlDataAdapter("select * from Student;", con);

da.TableMappings.Add("Table","Student");
da.Fill(ds);

CrystalReport1 cr1 =new
CrystalReport1();

cr1.SetDataSource(ds);
crystalReportViewer1.ReportSource = cr1;
}
}
}
}
第五步:修改app.config配置文件
修改后的代码如下:
<?xmlversion="1.0"encoding="utf-8"
?>
<configuration>
<configSections>
</configSections>
<startupuseLegacyV2RuntimeActivationPolicy="true"> //主要添加的部分
<supportedRuntimeversion="v4.0"sku=".NETFramework,Version=v4.0"/>
</startup>
<connectionStrings>
<addname="CrystalReportsApplication1.Properties.Settings.ShareConnectionString"
connectionString="Data Source=zyjun-PC;Initial Catalog=Share;Persist SecurityInfo=True;User ID=sa;Password=123456"
providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>

第六步:调试运行。效果图如下:



总结:分享快乐!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: