首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

Visual C# .NET 整合 Crystal Reports 建立報表瀏覽器

     編輯:關於C語言

前言

Crystal Reports 內建於 Visual Studio .NET,提供強大的報表設計與瀏覽功能。本文示範建立 Windows Forms 應用程式,載入 .rpt 檔案並顯示於 CrystalReportViewer 控制項中。

開發環境需求

  • Visual Studio .NET (含 Crystal Reports for VS.NET)
  • .NET Framework SDK 單獨安裝 不包含 Crystal Reports 控制項

表單設計步驟

  1. 新增 Windows Forms 專案,設定 Form1.Text = "水晶報表瀏覽器",StartPosition = CenterScreen。
  2. 從工具箱拖入:CrystalReportViewer、Button、OpenFileDialog。
  3. 配置 CrystalReportViewer:
    crystalReportViewer1.Dock = DockStyle.Fill;
    crystalReportViewer1.DockPadding.Bottom = 50; // 留空間給按鈕
    crystalReportViewer1.DockPadding.Left = 5;
    crystalReportViewer1.DockPadding.Right = 5;
    crystalReportViewer1.DockPadding.Top = 5;
    crystalReportViewer1.ReportSource = null;
  4. 配置 Button:
    button1.Anchor = AnchorStyles.Bottom;
    button1.Text = "開啟報表";
    button1.Click += button1_Click;
  5. 配置 OpenFileDialog:
    openFileDialog1.Filter = "Crystal Report (*.rpt)|*.rpt|所有檔案(*.*)|*.*";
    openFileDialog1.Title = "開啟水晶報表";

開啟報表程式碼


private void button1_Click(object sender, EventArgs e)
{
    try
    {
        if (openFileDialog1.ShowDialog() == DialogResult.OK)
        {
            crystalReportViewer1.ReportSource = openFileDialog1.FileName;
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.ToString(), "錯誤");
    }
}

測試報表範例

VS.NET 安裝目錄下提供範例報表:

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

完整程式碼


using System;
using System.Drawing;
using System.Windows.Forms;
using CrystalDecisions.Windows.Forms;

namespace WindowsApplication10
{
    public class Form1 : Form
    {
        private CrystalReportViewer crystalReportViewer1;
        private Button button1;
        private OpenFileDialog openFileDialog1;
        private Container components = null;

        public Form1() { InitializeComponent(); }

        private void InitializeComponent()
        {
            this.crystalReportViewer1 = new CrystalReportViewer();
            this.button1 = new Button();
            this.openFileDialog1 = new OpenFileDialog();
            this.SuspendLayout();
            // ... 設定屬性如上 ...
            this.ResumeLayout(false);
        }

        [STAThread]
        static void Main() => Application.Run(new Form1());

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                if (openFileDialog1.ShowDialog() == DialogResult.OK)
                    crystalReportViewer1.ReportSource = openFileDialog1.FileName;
            }
            catch (Exception ex) { MessageBox.Show(ex.ToString(), "錯誤"); }
        }
    }
}

其他報表來源綁定方式

  • ReportSource = reportDocument:指派 ReportDocument 物件 (可先 Load 檔案)
  • ReportSource = "https://server/report.rpt":直接載入網路路徑
  • ADO.NET DataSet 為資料來源時,需先 reportDoc.SetDataSource(dataSet) 再指派給 Viewer。

結語

透過 CrystalReportViewer、OpenFileDialog 與簡單的事件處理,即可快速建立功能完整的報表瀏覽器,支援列印、匯出、鑽取等 Crystal Reports 核心功能。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved