设为首页 友情链接
在线留言 发表文章
加入收藏 广告联系

刺猬首页

| 专案技术 | 网络技术 | 图形图象 | 网络编程 | 网页设计 | 操作系统 | 服务器 | 技术白皮书 | 在线实验室 | 刺猬论坛 |
  | 数据库 | 设计赏析 | 存储频道 | 网络安全 | 私服架设 |  Solaris | 网站评估 | PC维护技巧 | 下载中心 | 博 客 |
专题: | Linux | java | cisco | 防病毒 | 刀片 | SOA | iscsi | ASP.NET | SQL | Oracle |
您现在的位置: IT公社 IT community >> 网络编程 >> C# >> 教程正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
使用C#开发SmartPhone程…
用C#实现智能设备上的No…
PHP:MVC迷思
MVC 设计模式带来更好的…
在PHP.MVC中上传文件
PHP.MVC的使用方法
PHP.MVC的模板标签系统(…
PHP.MVC的模板标签系统(…
PHP.MVC的模板标签系统(…
PHP.MVC的模板标签系统(…
  VC# .Net中使用Crystal Report         ★★★★★
VC# .Net中使用Crystal Report
 

【导读】本文向大家介绍如何使用VC# .Net在 Windows 窗体应用程序中浏览水晶报表Crystal Report

Crystal Reports(水晶报表)已内嵌为微软 Visual Studio .NET的标准报表工具,同时升级到 Crystal Reports for Visual Studio .NET。

它的优点是:

1、在 .NET 平台能够轻松创建交互式的、高质量显现的报表内容,这也是 Crystal Reports 长期以来所具有的主要优势;

2、使用 Crystal Reports for Visual Studio .NET,可以在 Web 平台和 Windows 平台上承载报表,并将 Crystal 报表作为报表 Web 服务在 Web 服务器上发布;

3、利用Crystal Report 创建的Web应用程序,使用户可以深化图表并根据需要筛选信息。在 .NET 中,图表实际上就是一个与应用程序中其他控件进行交互的 Crystal 报表。

在这里我向大家介绍如何在 Windows 窗体应用程序中浏览水晶报表。

设计步骤:

1、软件环境:要求系统已安装Visual Studio .Net 集成开发系统,仅装有 .Net Framework SDk 不能实现本例效果,成为 .Net Framework SDK 没有水晶报表控件。

2、新建一个 Visual C# 项目 Windows 应用程序,设置Form1的Text="水晶报表浏览器",StartPosition=CenterScreen //程序开始出现在屏幕中央,其它属性均保持默认; 

3、从工具箱拖入一个CrystalReportViewer,一个Button,一个openFileDialog,到窗体。

整个设计器的窗体布局只需将button1置于窗体底边中部,不再需要其它多余布局。

设置crystalReportViewer1的属性如下:

this.crystalReportViewer1.Dock = System.Windows.Forms.DockStyle.Fill;

//停靠方式为充满整个窗体

//展开+DockPadding

this.crystalReportViewer1.DockPadding.Bottom = 50;

//底部空出放置Button的区域

this.crystalReportViewer1.DockPadding.Left = 5;

this.crystalReportViewer1.DockPadding.Right = 5;

this.crystalReportViewer1.DockPadding.Top = 5;

this.crystalReportViewer1.ReportSource = null;

//先不载入报表资源

设置button1的属性如下:

this.button1.Anchor = System.Windows.Forms.AnchorStyles.Bottom;

//与窗体的下边保持固定

this.button1.Text = "打开报表";

openFileDialog1是打开文件的控件,设置其属性如下:

this.openFileDialog1.Filter

= "Crystal Report (*.rpt)|*.rpt|所有文件(*.*)|*.*";

//提供打开文件对话框的文件类型,

默认类型就是此字符串的最前一种定义的类型

this.openFileDialog1.Title = "打开水晶报表";

//打开文件对话框的标题



布局效果图如下:

4、双击button1,添加button1_Click点击事件:

private void button1_Click(object sender, System.EventArgs e)

{

  try

  {

if(openFileDialog1.ShowDialog()==DialogResult.OK)

  this.crystalReportViewer1.ReportSource = @openFileDialog1.FileName;

  //加载水晶报表,将报表文件绑定到CrystalReportView 控件;

  }

  catch(Exception error)

  {

MessageBox.Show(error.ToString(),"错误");

  }

}



5、OK!按Ctrl+F5运行吧。

可以浏览你系统内现有的报表实例:

...\Program Files\Microsoft Visual Studio .NET\Crystal Reports\Samples\Reports\Feature Examples\Chart.rpt



using System;

using System.Drawing;

using System.Collections;

using System.ComponentModel;

using System.Windows.Forms;

using System.Data;

namespace WindowsApplication10

{

  /// <summary>

  /// Form1 的摘要说明。

  /// </summary>

  public class Form1 : System.Windows.Forms.Form

  {

private CrystalDecisions.Windows.Forms.CrystalReportViewer crystalReportViewer1;

private System.Windows.Forms.Button button1;

private System.Windows.Forms.OpenFileDialog openFileDialog1;

/// <summary>

/// 必需的设计器变量。

/// </summary>

private System.ComponentModel.Container components = null;

public Form1()

{

  //

  // Windows 窗体设计器支持所必需的

  //

  InitializeComponent();

  //

  // TODO: 在 InitializeComponent 调用后添加任何构造函数代码

  //

}

/// <summary>

/// 清理所有正在使用的资源。

/// </summary>

protected override void Dispose( bool disposing )

{

  if( disposing )

  {

if (components != null)

{

  components.Dispose();

}

  }

  base.Dispose( disposing );

}

#region Windows Form Designer generated code

/// <summary>

/// 设计器支持所需的方法 - 不要使用代码编辑器修改

/// 此方法的内容。

/// </summary>

private void InitializeComponent()

{

  this.crystalReportViewer1 = new

  CrystalDecisions.Windows.Forms.CrystalReportViewer();

  this.button1 = new System.Windows.Forms.Button();

  this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();

  this.SuspendLayout();

  //

  // crystalReportViewer1

  //

  this.crystalReportViewer1.ActiveViewIndex = -1;

  this.crystalReportViewer1.Dock= System.Windows.Forms.DockStyle.Fill;

  this.crystalReportViewer1.DockPadding.Bottom = 50;

  this.crystalReportViewer1.DockPadding.Left = 5;

  this.crystalReportViewer1.DockPadding.Right = 5;

  this.crystalReportViewer1.DockPadding.Top = 5;

  this.crystalReportViewer1.Name = "crystalReportViewer1";

  this.crystalReportViewer1.ReportSource = null;

  this.crystalReportViewer1.Size = new System.Drawing.Size(292, 273);

  this.crystalReportViewer1.TabIndex = 0;

  //

  // button1

  //

  this.button1.Anchor = System.Windows.Forms.AnchorStyles.Bottom;

  this.button1.Location = new System.Drawing.Point(104, 240);

  this.button1.Name = "button1";

  this.button1.TabIndex = 1;

  this.button1.Text = "打开报表";

  this.button1.Click += new System.EventHandler(this.button1_Click);

  //

  // openFileDialog1

  //

  this.openFileDialog1.Filter = "Crystal Report (*.rpt)|*.rpt|所有文件(*.*)|*.*";

  this.openFileDialog1.Title = "打开水晶报表";

  //

  // Form1

  //

  this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);

  this.ClientSize = new System.Drawing.Size(292, 273);

  this.Controls.AddRange(new System.Windows.Forms.Control[] {

this.button1,

this.crystalReportViewer1});

  this.Name = "Form1";

  this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;

  this.Text = "水晶报表浏览器";

  this.ResumeLayout(false);

}

#endregion

/// <summary>

/// 应用程序的主入口点。

/// </summary>

[STAThread]

static void Main()

{

  Application.Run(new Form1());

}

private void button1_Click(object sender, System.EventArgs e)

{

  try

  {

if(openFileDialog1.ShowDialog()==DialogResult.OK)

  this.crystalReportViewer1.ReportSource = @openFileDialog1.FileName;

  //加载水晶报表,将资源报表绑定到水晶报表查看器

  }

  catch(Exception error)

  {

MessageBox.Show(error.ToString(),"错误"); //处理异常错误

  }

}

  }

}

频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。

原始作者:佚名 录入时间:2006-10-10
信息来源:不详 投稿信箱:itqoo@126.com
教程录入:admin    责任编辑:admin 
  • 上一个教程:

  • 下一个教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    - 关于我们 - 合作伙伴 - 友情链接 - 广告刊登 - 投稿热线 - 在线留言版权声明联系方式 -
    IT公社版权所有 粤ICP备05127012号
    Copyrigh@2005-2006 itqoo.com.Inc All Rights Reserved  推荐分辨率 1024*768
    联系站长:E-Mail:itqoo@126.com     MSN:urchincc@hotmail.com    QQ:点击这里给我发消息
    特别感谢:亿太网络提供空间支持