VC# .Net中使用Crystal Report水晶报表

  设计步骤:

  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

原文地址:https://www.cnblogs.com/tuyile006/p/460527.html