winform下水晶报表简单示例,vs2003

初学水晶报表,都是希望先找个简单的示例型的文章看看,本篇就非常的适合(仅适合接触水晶报表但是一个都没有写过的同仁)。

本示例环境:windows2003、vs.net2003、Sql Server2000、水晶报表为vs.net2003自带的。
示例程序为winform下读取sql server2000数据库中一表,使用水晶报表显示列表,非常简单的一个,下面就开始了。

首先建立数据库,生成表的sql语句如下:

winform下水晶报表简单示例,vs2003CREATE TABLE [dbo].[test] (
winform下水晶报表简单示例,vs2003 [id] [decimal](180IDENTITY (11NOT NULL ,
winform下水晶报表简单示例,vs2003 [name] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
winform下水晶报表简单示例,vs2003 [card] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
winform下水晶报表简单示例,vs2003 [createdate] [datetime] NULL 
winform下水晶报表简单示例,vs2003ON [PRIMARY]
winform下水晶报表简单示例,vs2003GO
winform下水晶报表简单示例,vs2003
winform下水晶报表简单示例,vs2003ALTER TABLE [dbo].[test] ADD 
winform下水晶报表简单示例,vs2003 CONSTRAINT [PK_test_1] PRIMARY KEY  CLUSTERED 
winform下水晶报表简单示例,vs2003 (
winform下水晶报表简单示例,vs2003  [id]
winform下水晶报表简单示例,vs2003 )  ON [PRIMARY] 
winform下水晶报表简单示例,vs2003GO
winform下水晶报表简单示例,vs2003winform下水晶报表简单示例,vs2003

打开vs.net2003,新建立一个C#的winform项目。
程序分3个文件,分别为:Form1.cs、DataSetTest.xsd、CrystalReportTest.rpt

Form1.cs:建立项目时已经生成;
DataSetTest.xsd:该文件为数据集文件,建立完成后在文件中点击“服务器资源管理器”,这样在左边出现了带有“数据连接”的菜单,然后试图展开下面的结点时提示需要一些连接数据库的参数,包括选择数据名称,sa用户和密码等,连接成功后展开“表”的结点,选择你建立的表,将表拖到“DataSetTest.xsd”文件中,这样会自动建立了一个表结构的数据集,然后就建立完成了,生成一下项目,如果不生成直接往下做的话在下一步的建立报表文件时就会遇到问题(可以不生成来试一下就明白了)。
CrystalReportTest.rpt:报表文件,在项目中添加CrystalReport文件,添加时会出现建立向导,首先选择“使用报表专家”,“确定”后展开“项目数据”,展开“ADO.NET数据集”,展开“datasettest”,看到了刚才建立的表“test”,双击就添加到了右边的“报表中的表”中,点“下一步”,再点“全部添加”,点“下一步”,然后点“完成”,这样文件已经建立;下面是设计报表的表样,设计的表样如下图:

winform下水晶报表简单示例,vs2003
这样需要建立的文件已经建立完成,下面是编写代码了。
在Form1.cs文件中添加crystalReportViewer控件,用来显示水晶报表的;再添加“生成报表”按钮,代码全部如下:

winform下水晶报表简单示例,vs2003using System;
winform下水晶报表简单示例,vs2003using System.Drawing;
winform下水晶报表简单示例,vs2003using System.Collections;
winform下水晶报表简单示例,vs2003using System.ComponentModel;
winform下水晶报表简单示例,vs2003using System.Windows.Forms;
winform下水晶报表简单示例,vs2003using System.Data;
winform下水晶报表简单示例,vs2003using System.Data.SqlClient;
winform下水晶报表简单示例,vs2003
winform下水晶报表简单示例,vs2003namespace WinApp
winform下水晶报表简单示例,vs2003{
winform下水晶报表简单示例,vs2003    /// <summary>
winform下水晶报表简单示例,vs2003    
/// Form1 的摘要说明。
winform下水晶报表简单示例,vs2003    
/// </summary>

winform下水晶报表简单示例,vs2003    public class Form1 : System.Windows.Forms.Form
winform下水晶报表简单示例,vs2003    {
winform下水晶报表简单示例,vs2003        private CrystalDecisions.Windows.Forms.CrystalReportViewer crystalReportViewer1;
winform下水晶报表简单示例,vs2003        private System.Windows.Forms.Button button1;
winform下水晶报表简单示例,vs2003        /// <summary>
winform下水晶报表简单示例,vs2003        
/// 必需的设计器变量。
winform下水晶报表简单示例,vs2003        
/// </summary>

winform下水晶报表简单示例,vs2003        private System.ComponentModel.Container components = null;
winform下水晶报表简单示例,vs2003
winform下水晶报表简单示例,vs2003        public Form1()
winform下水晶报表简单示例,vs2003        {
winform下水晶报表简单示例,vs2003            //
winform下水晶报表简单示例,vs2003            
// Windows 窗体设计器支持所必需的
winform下水晶报表简单示例,vs2003            
//
winform下水晶报表简单示例,vs2003
            InitializeComponent();
winform下水晶报表简单示例,vs2003
winform下水晶报表简单示例,vs2003            //
winform下水晶报表简单示例,vs2003            
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
winform下水晶报表简单示例,vs2003            
//
winform下水晶报表简单示例,vs2003
        }

winform下水晶报表简单示例,vs2003
winform下水晶报表简单示例,vs2003        /// <summary>
winform下水晶报表简单示例,vs2003        
/// 清理所有正在使用的资源。
winform下水晶报表简单示例,vs2003        
/// </summary>

winform下水晶报表简单示例,vs2003        protected override void Dispose( bool disposing )
winform下水晶报表简单示例,vs2003        {
winform下水晶报表简单示例,vs2003            if( disposing )
winform下水晶报表简单示例,vs2003            {
winform下水晶报表简单示例,vs2003                if (components != null
winform下水晶报表简单示例,vs2003                {
winform下水晶报表简单示例,vs2003                    components.Dispose();
winform下水晶报表简单示例,vs2003                }

winform下水晶报表简单示例,vs2003            }

winform下水晶报表简单示例,vs2003            base.Dispose( disposing );
winform下水晶报表简单示例,vs2003        }

winform下水晶报表简单示例,vs2003
winform下水晶报表简单示例,vs2003        Windows 窗体设计器生成的代码
winform下水晶报表简单示例,vs2003
winform下水晶报表简单示例,vs2003        /// <summary>
winform下水晶报表简单示例,vs2003        
/// 应用程序的主入口点。
winform下水晶报表简单示例,vs2003        
/// </summary>

winform下水晶报表简单示例,vs2003        [STAThread]
winform下水晶报表简单示例,vs2003        static void Main() 
winform下水晶报表简单示例,vs2003        {
winform下水晶报表简单示例,vs2003            Application.Run(new Form1());
winform下水晶报表简单示例,vs2003        }

winform下水晶报表简单示例,vs2003
winform下水晶报表简单示例,vs2003        private void button1_Click(object sender, System.EventArgs e)
winform下水晶报表简单示例,vs2003        {
winform下水晶报表简单示例,vs2003            CrystalReportTest cr1 = new CrystalReportTest();
winform下水晶报表简单示例,vs2003        
winform下水晶报表简单示例,vs2003            cr1.SetDataSource(GetDs());
winform下水晶报表简单示例,vs2003
winform下水晶报表简单示例,vs2003            this.crystalReportViewer1.ReportSource=cr1;
winform下水晶报表简单示例,vs2003        }

winform下水晶报表简单示例,vs2003
winform下水晶报表简单示例,vs2003        //该函数返回DataSetTest数据集中表的数据格式的数据集合
winform下水晶报表简单示例,vs2003
        public DataSetTest GetDs()
winform下水晶报表简单示例,vs2003        {
winform下水晶报表简单示例,vs2003            //创建DataSetTest数据集对象
winform下水晶报表简单示例,vs2003
            DataSetTest ds = new DataSetTest();    
winform下水晶报表简单示例,vs2003            
winform下水晶报表简单示例,vs2003            string strSql = "select * from test";
winform下水晶报表简单示例,vs2003            string strConnString = "server=.;database=test;user id=sa;pwd=sa;";
winform下水晶报表简单示例,vs2003
winform下水晶报表简单示例,vs2003            SqlConnection conn = new SqlConnection(strConnString);
winform下水晶报表简单示例,vs2003            conn.Open();
winform下水晶报表简单示例,vs2003            SqlDataAdapter da = new SqlDataAdapter(strSql,conn);
winform下水晶报表简单示例,vs2003
winform下水晶报表简单示例,vs2003            da.Fill(ds,"test");    //填充数据集,一定要指定表名称:test
winform下水晶报表简单示例,vs2003
            conn.Close();
winform下水晶报表简单示例,vs2003            return ds;
winform下水晶报表简单示例,vs2003        }

winform下水晶报表简单示例,vs2003    }

winform下水晶报表简单示例,vs2003}

winform下水晶报表简单示例,vs2003


winform下水晶报表简单示例,vs2003

上一篇:SQL笔记 - CTE递归实例(续):显示指定部门的全称


下一篇:【原创】PHP访问MySQL查询超时处理