winform使用水晶报表的例子

水晶报表

///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);
        
        crystalReportViewer1.Location = new System.Drawing.Point(8, 40);
        crystalReportViewer1.Size = new System.Drawing.Size(648, 464);
        crystalReportViewer1.ActiveViewIndex = -1;
        crystalReportViewer1.SelectionFormula = "";
        crystalReportViewer1.DisplayToolbar = true;
        crystalReportViewer1.DisplayGroupTree = true;
        crystalReportViewer1.TabIndex = 2;
        crystalReportViewer1.Anchor = System.WinForms.AnchorStyles.All;
        crystalReportViewer1.DisplayBackgroundEdge = false;
        
        btnSelectReport.Location = new System.Drawing.Point(8, 8);
        btnSelectReport.Size = new System.Drawing.Size(96, 24);
        btnSelectReport.TabIndex = 1;
        btnSelectReport.Font = new System.Drawing.Font("Arial", 8f, System.Drawing.FontStyle.Bold);
        btnSelectReport.Text = "Select Report";
        btnSelectReport.Click += new System.EventHandler(btnSelectReport_Click);
        
        this.Controls.Add(btnSelectReport);
        this.Controls.Add(crystalReportViewer1);
        
    }
    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;
    }
}
}

时间: 2024-10-27 22:59:45

winform使用水晶报表的例子的相关文章

求一个winform中水晶报表打印DataGridview例子

问题描述 我没用过水晶报表,现在需要用它来处理打印但是我不会用谁能给我一个完成的水晶报表的例子呀谢谢..有点急请发到我的油箱里谢谢rui---04@163.com请著名你的名字然后给我在这里留个言我看到合适的会马上给分谢谢 解决方案 解决方案二:我做过水晶报表,但用了三方插件的要吗??解决方案三:有没有不用第三方插件的呀我要从基础学期呀要不学不会解决方案四:用推模式对报表进行填充数据,把要打印的数据分别绑定到DataGridview和设计的报表就这样简单啊解决方案五:但用了三方插件的要吗??解决

winform下水晶报表提示数据库登录[仅客户端提示,开发程序的机子不会出现此总量]

问题描述 winform下水晶报表提示数据库登录[仅客户端提示,开发程序的机子不会出现此总量] 解决方案 解决方案二:连接数据库问题是不是连接字符串写的有问题解决方案三:提示"您访问的资源不存在",,,解决方案四:开发主机就不会存在,但安装在客户机子就会出现此问题解决方案五:DataSetdsrpt=newDataSet();dsrpt=Ds.Copy();dsrpt.Tables[0].DefaultView.RowFilter="OrderID='"+Order

web页面用水晶报表的例子

web|水晶报表|页面 ///customnav.aspx<%@ Register TagPrefix="CrystalReports" Namespace="SeagateSoftware.Web" Assembly="SeagateSoftware.Web" %><%@ Page Src="CustomNav.cs" Inherits="CRSamples.CustomNav" %&g

VS2005 Winform使用水晶报表的项目如何打包?

问题描述 请尽量详细点指点小弟,感激不尽! 解决方案 解决方案二:学习了,SF呵呵终于抢到了解决方案三:MSDN上有详细的描述http://msdn.microsoft.com/zh-cn/library/aa288411(VS.71).aspx以下内容来自MSDN:打开Windows应用程序.在解决方案资源管理器中,右击Windows应用程序解决方案,指向"添加",然后单击"新建项目".在"添加新项目"对话框中,选择"项目类型&quo

winform中水晶报表如何实现分组求和?界面如下

问题描述 解决方案 解决方案二:借鉴解决方案三:引用1楼wangnaisheng的回复: 借鉴 +1

解决方案-.NET水晶报表控件打印报错问题

问题描述 .NET水晶报表控件打印报错问题 用C# Winform开发水晶报表的打印程序,在用VS2010调试.发布安装包.安装测试都没问题,但在有些PC上安装使用,会报:"CrystalDecisions. CrystalReports.Engine.CRPE" 的类型初始值设定项引发异常.有些PC又没问题,找不出原因, 在网上找了很多方法都不行.请问各位大神有没有遇到过类似问题,有什么好的解决方案?

水晶报表鼠标滚轮翻页

问题描述 遇到的问题是winform上水晶报表翻页都要点击左上方的翻页按钮,窗体一次显示一个页面.有没有办法能够像FPD那样直接用鼠标滚轮就可以翻页了.

C# WINFORM我用的是VS2010 安装水晶报表13.0.1插件,怎么去掉控件中工具栏右边的水晶报表公司的图标

问题描述 VS2010做报表,安装了水晶报表13.0.1插件,在WINFORM中拖拽一个crystalReportViewer1报表控件后,该控件右上方(工具栏最右边会出现一个水晶报表公司的公司图标,怎么去掉?) 解决方案 解决方案二:这个应该去不掉吧,除非联系水晶报表的公司给钱将其拿掉.

请教:c#winform里,如何让水晶报表直接显示datagridview里面的数据?

问题描述 我在winform建立一个windows应用程序,用代码添加了一个datagridview显示两列数据.现在想用水晶报表显示这两行数据,请问该如何实现,能帮忙请帮忙给出代码,谢谢.DataTabledt=newDataTable();dt.Columns.Add(newDataColumn("井底压力",typeof(string)));dt.Columns.Add(newDataColumn("产液量",typeof(string)));cul_Qx=0