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

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

 请看图1,这份报表有多复杂?猜猜它需要多少时间完成?就复杂而言,它只是一份简单的、从Share>Student (SQL Server 2008)中提取出来的报表;就时间而言,相信不会花你很多时间吧。

利用CrystalReport与C#生成报表(vs2010+sql2008)_第1张图片

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

 

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

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

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

利用CrystalReport与C#生成报表(vs2010+sql2008)_第2张图片


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


利用CrystalReport与C#生成报表(vs2010+sql2008)_第3张图片

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

 

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

  数据集是伴随报表查看器而来的,它保存并提供从数据源而来的原始数据。
请依照如下步骤添加数据集:
  1、从解决方案资源浏览器中选择添加-新建项-数据集,并单击添加按钮完成。如图所示:

利用CrystalReport与C#生成报表(vs2010+sql2008)_第4张图片

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

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

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

利用CrystalReport与C#生成报表(vs2010+sql2008)_第5张图片


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

 利用CrystalReport与C#生成报表(vs2010+sql2008)_第6张图片

第三步:设计报表

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

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

利用CrystalReport与C#生成报表(vs2010+sql2008)_第7张图片


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


利用CrystalReport与C#生成报表(vs2010+sql2008)_第8张图片


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


 利用CrystalReport与C#生成报表(vs2010+sql2008)_第9张图片


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


 利用CrystalReport与C#生成报表(vs2010+sql2008)_第10张图片


第四步:编写赋予报表生机的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>

 

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

 利用CrystalReport与C#生成报表(vs2010+sql2008)_第11张图片

 

总结:分享快乐!

 

你可能感兴趣的:(C#常用功能)