大名鼎鼎的 Crystal Reports(水晶報表)已內嵌為微軟 Visual Studio
NET的標准報表工具
同時升級到 Crystal Reports for Visual Studio
NET
它的優點是
在
NET 平台能夠輕松創建交互式的
高質量顯現的報表內容
這也是 Crystal Reports 長期以來所具有的主要優勢
使用 Crystal Reports for Visual Studio
NET
可以在 Web 平台和 Windows 平台上承載報表
並將 Crystal 報表作為報表 Web 服務在 Web 服務器上發布
利用Crystal Report 創建的Web應用程序
使用戶可以深化圖表並根據需要篩選信息
在
NET 中
圖表實際上就是一個與應用程序中其他控件進行交互的 Crystal 報表
在這裡我向大家介紹如何在 Windows 窗體應用程序中浏覽水晶報表
設計步驟
軟件環境
要求系統已安裝Visual Studio
Net 集成開發系統
僅裝有
Net Framework SDk 不能實現本例效果
成為
Net Framework SDK 沒有水晶報表控件
新建一個 Visual C# 項目 Windows 應用程序
設置Form
的Text=
水晶報表浏覽器
StartPosition=CenterScreen //程序開始出現在屏幕中央
其它屬性均保持默認
從工具箱拖入一個CrystalReportViewer
一個Button
一個openFileDialog
到窗體
整個設計器的窗體布局只需將button
置於窗體底邊中部
不再需要其它多余布局
設置crystalReportViewer
的屬性如下
this
crystalReportViewer
Dock = System
Windows
Forms
DockStyle
Fill;
//停靠方式為充滿整個窗體
//展開+DockPadding
this
crystalReportViewer
DockPadding
Bottom =
;
//底部空出放置Button的區域
this
crystalReportViewer
DockPadding
Left =
;
this
crystalReportViewer
DockPadding
Right =
;
this
crystalReportViewer
DockPadding
Top =
;
this
crystalReportViewer
ReportSource = null;
//先不載入報表資源
設置button
的屬性如下
this
button
Anchor = System
Windows
Forms
AnchorStyles
Bottom;
//與窗體的下邊保持固定
this
button
Text =
打開報表
;
openFileDialog
是打開文件的控件
設置其屬性如下
this
openFileDialog
Filter
=
Crystal Report (*
rpt)|*
rpt|所有文件(*
*)|*
*
;
//提供打開文件對話框的文件類型
默認類型就是此字符串的最前一種定義的類型
this
openFileDialog
Title =
打開水晶報表
;
//打開文件對話框的標題
布局效果圖如下
雙擊button
添加button
_Click點擊事件
private void button
_Click(object sender
System
EventArgs e)
{
try
{
if(openFileDialog
ShowDialog()==DialogResult
OK)
this
crystalReportViewer
ReportSource = @openFileDialog
FileName;
//加載水晶報表
將報表文件綁定到CrystalReportView 控件;
}
catch(Exception error)
{
MessageBox
Show(error
ToString()
錯誤
);
}
}
OK!按Ctrl+F
運行吧
可以浏覽你系統內現有的報表實例
\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 WindowsApplication
{
/// <summary>
/// Form
的摘要說明
/// </summary>
public class Form
: System
Windows
Forms
Form
{
private CrystalDecisions
Windows
Forms
CrystalReportViewer crystalReportViewer
;
private System
Windows
Forms
Button button
;
private System
Windows
Forms
OpenFileDialog openFileDialog
;
/// <summary>
/// 必需的設計器變量
/// </summary>
private System
ComponentModel
Container components = null;
public Form
()
{
//
// 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
crystalReportViewer
= new
CrystalDecisions
Windows
Forms
CrystalReportViewer();
this
button
= new System
Windows
Forms
Button();
this
openFileDialog
= new System
Windows
Forms
OpenFileDialog();
this
SuspendLayout();
//
// crystalReportViewer
//
this
crystalReportViewer
ActiveViewIndex =
;
this
crystalReportViewer
Dock
= System
Windows
Forms
DockStyle
Fill;
this
crystalReportViewer
DockPadding
Bottom =
;
this
crystalReportViewer
DockPadding
Left =
;
this
crystalReportViewer
DockPadding
Right =
;
this
crystalReportViewer
DockPadding
Top =
;
this
crystalReportViewer
Name =
crystalReportViewer
;
this
crystalReportViewer
ReportSource = null;
this
crystalReportViewer
Size = new System
Drawing
Size(
);
this
crystalReportViewer
TabIndex =
;
//
// button
//
this
button
Anchor = System
Windows
Forms
AnchorStyles
Bottom;
this
button
Location = new System
Drawing
Point(
);
this
button
Name =
button
;
this
button
TabIndex =
;
this
button
Text =
打開報表
;
this
button
Click += new System
EventHandler(this
button
_Click);
//
// openFileDialog
//
this
openFileDialog
Filter =
Crystal Report (*
rpt)|*
rpt|所有文件(*
*)|*
*
;
this
openFileDialog
Title =
打開水晶報表
;
//
// Form
//
this
AutoScaleBaseSize = new System
Drawing
Size(
);
this
ClientSize = new System
Drawing
Size(
);
this
Controls
AddRange(new System
Windows
Forms
Control[] {
this
button
this
crystalReportViewer
});
this
Name =
Form
;
this
StartPosition = System
Windows
Forms
FormStartPosition
CenterScreen;
this
Text =
水晶報表浏覽器
;
this
ResumeLayout(false);
}
#endregion
/// <summary>
/// 應用程序的主入口點
/// </summary>
[STAThread]
static void Main()
{
Application
Run(new Form
());
}
private void button
_Click(object sender
System
EventArgs e)
{
try
{
if(openFileDialog
ShowDialog()==DialogResult
OK)
this
crystalReportViewer
ReportSource = @openFileDialog
FileName;
//加載水晶報表
將資源報表綁定到水晶報表查看器
}
catch(Exception error)
{
MessageBox
Show(error
ToString()
錯誤
); //處理異常錯誤
}
}
}
}
From:http://tw.wingwit.com/Article/program/net/201311/12997.html