一起学习水晶报表之拉模式【如何实现水晶报表显示数据信息】(课程3)

本文主要是介绍一起学习水晶报表之拉模式【如何实现水晶报表显示数据信息】(课程3),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

总结:(1)新建rpt报表文件(2)使用一个控件【CrystalReportViewer】

上两节课程我们都是采用两个内置的控件来显示报表数据,但是我不喜欢,也不推荐各位依赖控件。这里,我将给大家介绍一下没有采用CrystalReportSource控件的情况下,如何实现绑定数据集,同样实现数据的显示呢???方法如下:

在原来的基础上,我们去掉CrystalReportSource控件,在后台实现代码绑定报表模板。

【1】引用命名空间:

using CrystalDecisions.Shared;
using CrystalDecisions.CrystalReports.Engine;

【2】书写后台代码:

public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            ReportDocument rptDoc = new ReportDocument();
            rptDoc.Load(Server.MapPath("\\CrystalReport1.rpt"));

            TableLogOnInfo logInfo = new TableLogOnInfo();
            logInfo.ConnectionInfo.ServerName = @"127.0.0.1";
            logInfo.ConnectionInfo.UserID = "sa";
            logInfo.ConnectionInfo.Password = "admin@123456";
            logInfo.ConnectionInfo.DatabaseName = "北风贸易";

            for (int i = 0; i < rptDoc.Database.Tables.Count; i++)
            {
                rptDoc.Database.Tables[i].ApplyLogOnInfo(logInfo);
            }

            CrystalReportViewer1.ReportSource = rptDoc;
        }
    }

【3】其实是万变不离其宗,原理还是一样的。编译运行成功。

***********************【方法二】*************************************

【4】我们再看一下解决方案中的文件,报表模板下面有个cs文件。

我们来看看这个CrystalReport1.cs文件的内容:


其中有个属性ResourceName。这个属性返回的就是报表模板文件。那么我们也可以将前面那种方法的两个语句合并为依据,改为如下:

public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //ReportDocument rptDoc = new ReportDocument();
            //rptDoc.Load(Server.MapPath("\\CrystalReport1.rpt"));

            CrystalReport1 rptDoc = new CrystalReport1();
            
            TableLogOnInfo logInfo = new TableLogOnInfo();
            logInfo.ConnectionInfo.ServerName = @"127.0.0.1";
            logInfo.ConnectionInfo.UserID = "sa";
            logInfo.ConnectionInfo.Password = "admin@123456";
            logInfo.ConnectionInfo.DatabaseName = "北风贸易";
            for (int i = 0; i < rptDoc.Database.Tables.Count; i++)
            {
                rptDoc.Database.Tables[i].ApplyLogOnInfo(logInfo);
            }

            CrystalReportViewer1.ReportSource = rptDoc;
        }
    }

编译,运行成功!!


这篇关于一起学习水晶报表之拉模式【如何实现水晶报表显示数据信息】(课程3)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/976853

相关文章

批量导入txt数据到的redis过程

《批量导入txt数据到的redis过程》用户通过将Redis命令逐行写入txt文件,利用管道模式运行客户端,成功执行批量删除以Product*匹配的Key操作,提高了数据清理效率... 目录批量导入txt数据到Redisjs把redis命令按一条 一行写到txt中管道命令运行redis客户端成功了批量删除k

分布式锁在Spring Boot应用中的实现过程

《分布式锁在SpringBoot应用中的实现过程》文章介绍在SpringBoot中通过自定义Lock注解、LockAspect切面和RedisLockUtils工具类实现分布式锁,确保多实例并发操作... 目录Lock注解LockASPect切面RedisLockUtils工具类总结在现代微服务架构中,分布

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

Redis客户端连接机制的实现方案

《Redis客户端连接机制的实现方案》本文主要介绍了Redis客户端连接机制的实现方案,包括事件驱动模型、非阻塞I/O处理、连接池应用及配置优化,具有一定的参考价值,感兴趣的可以了解一下... 目录1. Redis连接模型概述2. 连接建立过程详解2.1 连php接初始化流程2.2 关键配置参数3. 最大连

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Python实现网格交易策略的过程

《Python实现网格交易策略的过程》本文讲解Python网格交易策略,利用ccxt获取加密货币数据及backtrader回测,通过设定网格节点,低买高卖获利,适合震荡行情,下面跟我一起看看我们的第一... 网格交易是一种经典的量化交易策略,其核心思想是在价格上下预设多个“网格”,当价格触发特定网格时执行买

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

python设置环境变量路径实现过程

《python设置环境变量路径实现过程》本文介绍设置Python路径的多种方法:临时设置(Windows用`set`,Linux/macOS用`export`)、永久设置(系统属性或shell配置文件... 目录设置python路径的方法临时设置环境变量(适用于当前会话)永久设置环境变量(Windows系统