水晶報表 ///Form檔案
namespace SimpleApp
{
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.WinForms;
using System.Data;
public class SimpleForm : System.WinForms.Form
{
private System.ComponentModel.Container components;
private System.WinForms.Button btnSelectReport;
private SeagateSoftware.WinForms.CrystalReportViewer crystalReportViewer1;
public SimpleForm()
{
//
// Required for Win Form Designer support
//
InitializeComponent();
EnableViewer(false);
}
public override void Dispose()
{
base.Dispose();
components.Dispose();
}
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.crystalReportViewer1 = new SeagateSoftware.WinForms.CrystalReportViewer();
this.btnSelectReport = new System.WinForms.Button();
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.Text = "Viewing a Crystal Report";
this.StartPosition = System.WinForms.FormStartPosition.CenterScreen;
//@design this.TrayLargeIcon = false;
//@design this.TrayHeight = 0;
this.ClientSize = new System.Drawing.Size(664, 509);
}
protected void btnSelectReport_Click(object sender, System.EventArgs e)
{
// Get a RPT file to display in the crystal report viewer
OpenFileDialog openFileDlg = new OpenFileDialog();
openFileDlg.InitialDirectory = Utils.GetSampleReportsDir();
openFileDlg.Filter = "Crystal Reports (*.rpt)|*.rpt|All Files (*.*)|*.*";
if (openFileDlg.ShowDialog() == DialogResult.OK)
{
// Set the ReportName property
crystalReportViewer1.ReportName = openFileDlg.FileName;
EnableViewer(true);
}
}
// This function enables and disables the Crystal Reports Win Form Viewer
private void EnableViewer(bool show)
{
SeagateSoftware.WinForms.ToolbarStateChangeEvent evt = new SeagateSoftware.WinForms.ToolbarStateChangeEvent(show);
crystalReportViewer1.Toolbar.OnStateChange(this, evt);
}
/*
* The main entry point for the application.
*
*/
public static void Main(string[] args)
{
Application.Run(new SimpleForm());
}
}
}
///Util.cs
namespace SimpleApp
{
using System;
using Microsoft.Win32;
/// <summary>
/// Summary description for Utils.
/// </summary>
public class Utils
{
public static string GetSampleReportsDir()
{
// Get the path VS was installed to
RegistryKey regKey = Registry.LocalMachine;
regKey = regKey.OpenSubKey("Software\\Microsoft\\VisualStudio\\7.0\\Setup\\VS");
string dir = regKey.GetValue("ProductDir").ToString();
dir += "Crystal Reports\\Samples\\Reports\\";
return dir;
}
}
}