熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

VC#.Net中浏覽Crystal Report

2013-11-13 10:14:09  來源: .NET編程 
    大名鼎鼎的 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的屬性如下
thiscrystalReportViewerDock = SystemWindowsFormsDockStyleFill;
//停靠方式為充滿整個窗體
//展開+DockPadding
thiscrystalReportViewerDockPaddingBottom = ;
//底部空出放置Button的區域
thiscrystalReportViewerDockPaddingLeft = ;
thiscrystalReportViewerDockPaddingRight = ;
thiscrystalReportViewerDockPaddingTop = ;
thiscrystalReportViewerReportSource = null;
//先不載入報表資源
設置button的屬性如下

thisbuttonAnchor = SystemWindowsFormsAnchorStylesBottom;
//與窗體的下邊保持固定
thisbuttonText = 打開報表;

openFileDialog是打開文件的控件設置其屬性如下

thisopenFileDialogFilter
= Crystal Report (*rpt)|*rpt|所有文件(**)|**;
//提供打開文件對話框的文件類型
默認類型就是此字符串的最前一種定義的類型
thisopenFileDialogTitle = 打開水晶報表;
//打開文件對話框的標題


布局效果圖如下

雙擊button添加button_Click點擊事件

private void button_Click(object sender SystemEventArgs e)
{
try
{
if(openFileDialogShowDialog()==DialogResultOK)
thiscrystalReportViewerReportSource = @openFileDialogFileName;
//加載水晶報表將報表文件綁定到CrystalReportView 控件;
}
catch(Exception error)
{
MessageBoxShow(errorToString()錯誤);
}
}


OK!按Ctrl+F運行吧

可以浏覽你系統內現有的報表實例

\Program Files\Microsoft Visual Studio NET\Crystal Reports\Samples\Reports\Feature Examples\Chartrpt

using System;
using SystemDrawing;
using SystemCollections;
using SystemComponentModel;
using SystemWindowsForms;
using SystemData;
namespace WindowsApplication
{
/// <summary>
/// Form 的摘要說明
/// </summary>
public class Form : SystemWindowsFormsForm
{
private CrystalDecisionsWindowsFormsCrystalReportViewer crystalReportViewer;
private SystemWindowsFormsButton button;
private SystemWindowsFormsOpenFileDialog openFileDialog;
/// <summary>
/// 必需的設計器變量
/// </summary>
private SystemComponentModelContainer components = null;
public Form()
{
//
// Windows 窗體設計器支持所必需的
//
InitializeComponent();
//
// TODO: 在 InitializeComponent 調用後添加任何構造函數代碼
//
}
/// <summary>
/// 清理所有正在使用的資源
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
componentsDispose();
}
}
baseDispose( disposing );
}
#region Windows Form Designer generated code
/// <summary>
/// 設計器支持所需的方法 不要使用代碼編輯器修改
/// 此方法的內容
/// </summary>
private void InitializeComponent()
{
thiscrystalReportViewer = new
CrystalDecisionsWindowsFormsCrystalReportViewer();
thisbutton = new SystemWindowsFormsButton();
thisopenFileDialog = new SystemWindowsFormsOpenFileDialog();
thisSuspendLayout();
//
// crystalReportViewer
//
thiscrystalReportViewerActiveViewIndex = ;
thiscrystalReportViewerDock
= SystemWindowsFormsDockStyleFill;
thiscrystalReportViewerDockPaddingBottom = ;
thiscrystalReportViewerDockPaddingLeft = ;
thiscrystalReportViewerDockPaddingRight = ;
thiscrystalReportViewerDockPaddingTop = ;
thiscrystalReportViewerName = crystalReportViewer;
thiscrystalReportViewerReportSource = null;
thiscrystalReportViewerSize = new SystemDrawingSize( );
thiscrystalReportViewerTabIndex = ;
//
// button
//
thisbuttonAnchor = SystemWindowsFormsAnchorStylesBottom;
thisbuttonLocation = new SystemDrawingPoint( );
thisbuttonName = button;
thisbuttonTabIndex = ;
thisbuttonText = 打開報表;
thisbuttonClick += new SystemEventHandler(thisbutton_Click);
//
// openFileDialog
//
thisopenFileDialogFilter = Crystal Report (*rpt)|*rpt|所有文件(**)|**;
thisopenFileDialogTitle = 打開水晶報表;
//
// Form
//
thisAutoScaleBaseSize = new SystemDrawingSize( );
thisClientSize = new SystemDrawingSize( );
thisControlsAddRange(new SystemWindowsFormsControl[] {
thisbutton
thiscrystalReportViewer});
thisName = Form;
thisStartPosition = SystemWindowsFormsFormStartPositionCenterScreen;
thisText = 水晶報表浏覽器;
thisResumeLayout(false);
}
#endregion
/// <summary>
/// 應用程序的主入口點
/// </summary>
[STAThread]
static void Main()
{
ApplicationRun(new Form());
}
private void button_Click(object sender SystemEventArgs e)
{
try
{
if(openFileDialogShowDialog()==DialogResultOK)
thiscrystalReportViewerReportSource = @openFileDialogFileName;
//加載水晶報表將資源報表綁定到水晶報表查看器
}
catch(Exception error)
{
MessageBoxShow(errorToString()錯誤); //處理異常錯誤
}
}
}
}
From:http://tw.wingwit.com/Article/program/net/201311/12997.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.