.NET 水晶报表使用代码

下面是 ".NET 水晶报表使用代码" 的完整攻略:

1. 安装Crystal Reports

首先需要安装 Crystal Reports,这里简单介绍一下安装步骤:

  1. 在 Visual Studio 中,打开 "工具" -> "扩展和更新"。
  2. 在 "扩展和更新" 窗口中,选择 "联机" 选项卡。
  3. 搜索 "Crystal Reports",并安装最新的版本。

2. 创建数据源

在 Visual Studio 中创建一个新项目,然后创建一个数据库并填充数据,以便在报表中使用。下面以一个学生信息管理系统为例:

CREATE TABLE Students (
    Id int NOT NULL,
    Name varchar(50) NOT NULL,
    Age int NOT NULL,
    PRIMARY KEY (Id)
);

INSERT INTO Students (Id, Name, Age)
VALUES (1, '小明', 18),
       (2, '小红', 19),
       (3, '小刚', 20);

3. 创建报表

接下来创建一个 Crystal Reports 报表文件,步骤如下:

  1. 在 Visual Studio 中,右键单击项目 -> 添加 -> 新建项。
  2. 在 "添加新项" 窗口中选择 "Crystal Reports"。
  3. 选择 "示例报表" 模板并按照向导进行操作。在数据源选项卡中,选择之前创建的数据源。

4. 编写代码

在报表文件中,右键单击 "字段" 区域中的任何一个字段,并选择 "编辑字段"。在表达式编辑器中,可以看到相应的字段名,我们可以在代码中使用它们。下面是两个使用 ".NET 水晶报表" 的代码示例:

示例一:打印学生信息报表

using System;
using System.Data;
using System.Data.SqlClient;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;

namespace CrystalReportsDemo
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnShowReport_Click(object sender, EventArgs e)
        {
            // 连接数据库
            string connectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=StudentsDB;Integrated Security=True";
            SqlConnection connection = new SqlConnection(connectionString);

            // 查询数据
            string query = "SELECT * FROM Students";
            SqlDataAdapter adapter = new SqlDataAdapter(query, connection);
            DataTable dataTable = new DataTable();
            adapter.Fill(dataTable);

            // 加载报表
            ReportDocument report = new ReportDocument();
            report.Load(@"C:\Reports\StudentInfo.rpt");

            // 设置报表数据
            report.SetDataSource(dataTable);

            // 显示报表
            crystalReportViewer1.ReportSource = report;
            crystalReportViewer1.Refresh();
        }
    }
}

示例二:设置报表参数

using System;
using System.Data;
using System.Data.SqlClient;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;

namespace CrystalReportsDemo
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnShowReport_Click(object sender, EventArgs e)
        {
            // 连接数据库
            string connectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=StudentsDB;Integrated Security=True";
            SqlConnection connection = new SqlConnection(connectionString);

            // 查询数据
            string query = "SELECT * FROM Students WHERE Age < @age";
            SqlDataAdapter adapter = new SqlDataAdapter(query, connection);
            adapter.SelectCommand.Parameters.AddWithValue("@age", txtAge.Text);
            DataTable dataTable = new DataTable();
            adapter.Fill(dataTable);

            // 加载报表
            ReportDocument report = new ReportDocument();
            report.Load(@"C:\Reports\StudentInfo.rpt");

            // 设置报表参数
            ParameterField paramField = new ParameterField();
            ParameterFields paramFields = new ParameterFields();
            ParameterDiscreteValue paramDiscreteValue = new ParameterDiscreteValue();
            paramField.ParameterFieldName = "Age";
            paramDiscreteValue.Value = txtAge.Text;
            paramField.CurrentValues.Add(paramDiscreteValue);
            paramFields.Add(paramField);
            crystalReportViewer1.ParameterFieldInfo = paramFields;

            // 设置报表数据
            report.SetDataSource(dataTable);

            // 显示报表
            crystalReportViewer1.ReportSource = report;
            crystalReportViewer1.Refresh();
        }
    }
}

这就是 ".NET 水晶报表使用代码" 的完整攻略,希望对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:.NET 水晶报表使用代码 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • C#使用CancellationTokenSource 取消 Task的方法

    下面是详细讲解C#使用CancellationTokenSource取消Task的方法的完整攻略: 什么是CancellationTokenSource CancellationTokenSource是一个C#中的类,它用于取消一个或多个CancellationToken实例。可以将其视为控制任务执行过程的信号灯。当在CancellationTokenSou…

    C# 2023年6月6日
    00
  • ASP.NET MVC4入门教程(一):入门介绍

    “ASP.NET MVC4入门教程(一):入门介绍”是一篇用于ASP.NET MVC4入门学习的教程,主要介绍了ASP.NET MVC4框架的特点、优势、以及常用的控制器、模型、视图等基本概念。本文将为读者提供一些详细的介绍与示例。 简介 首先,本文中介绍的ASP.NET MVC4是一种基于MVC(Model-View-Controller) 设计模式的We…

    C# 2023年5月31日
    00
  • ASP.NET Core异常和错误处理(8)

    ASP.NET Core 异常和错误处理(8) 在 ASP.NET Core 应用程序中,异常和错误处理是非常重要的。本攻略将详细介绍如何在 ASP.NET Core 应用程序中处理异常和错误,并提供多个示例说明。 步骤一:全局异常处理 在 ASP.NET Core 应用程序中,可以使用全局异常处理来处理应用程序中的异常。以下是一个简单的全局异常处理示例: …

    C# 2023年5月17日
    00
  • asp.net中使用DatagridView的增删改方法具体实现

    当我们在ASP.NET应用程序中使用DataGridView控件时,我们通常需要实现增、删、改等数据交互操作功能。下面介绍具体实现方法: 一、创建数据库 选择合适的数据库系统,在其中创建一个表格,用于我们的演示。表格的结构如下: CREATE TABLE [dbo].[Users]( [UserID] [int] IDENTITY(1,1) NOT NULL…

    C# 2023年5月31日
    00
  • 浅谈C#泛型的用处与特点

    浅谈C#泛型的用处与特点 什么是C#泛型? C# 泛型是一种类型参数化的技术,可以使用一个通用的方法或类来处理多种数据类型。通过使用泛型,可以编写更加灵活和可重用的代码,同时也可以提高代码的可维护性和可读性。 C#泛型的用处 提高代码的复用性 使用泛型可以编写更加通用的代码,可以处理多种类型的数据。不同于传统的方法和类,使用泛型可以更加直观和简单地完成类型的…

    C# 2023年5月15日
    00
  • .Net Core中使用EFCore生成反向工程

    在 .NET Core 中,可以使用 Entity Framework Core (EF Core) 来生成反向工程。反向工程是指根据数据库中的表自动生成模型类和上下文类。以下是 .NET Core 中使用 EF Core 生成反向工程的完整攻略: 步骤一:安装 EF Core 工具 在使用 EF Core 生成反向工程前,需要在 .NET Core 项目中…

    C# 2023年5月17日
    00
  • Unity实现桌面反弹的示例代码

    下面是Unity实现桌面反弹的完整攻略及示例代码。 桌面反弹的实现过程 首先,我们需要创建一个3D球体作为桌球,并且给它添加物理组件,如刚体和碰撞体,以便后面更好地实现球的反弹。 接着,我们需要创建多个3D立方体作为障碍物,并给它们添加物理组件,如刚体和碰撞体。这种障碍物的数量和形状将会对球的运动轨迹产生影响。 在程序中,我们需要创建OnCollisionE…

    C# 2023年5月15日
    00
  • 基于Unity实现3D版2048游戏的示例代码

    让我为您详细讲解一下基于Unity实现3D版2048游戏的完整攻略。 1、什么是2048游戏? 2048游戏是一款益智类小游戏,由Gabriele Cirulli在2014年创建。游戏规则非常简单:玩家通过滑动棋子,让相同数字的棋子相加,最终得到数字2048的棋子即可胜利。该游戏适合所有年龄段的玩家,可以锻炼玩家的观察力和反应能力。 2、如何基于Unity实…

    C# 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部