设计步骤:
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; //停靠方式为充满整个窗体//展开+DockPaddingthis.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 FilesMicrosoft Visual Studio