水晶报表很强大啊!

  去年就搞过,但是由于当时知道的东西太少,对于数据绑定的机制理解的太浅,最后也没弄出个所以然。最近看到别人做的成果之后才坚定这个信念,CrystalReports可以实现很复杂的报表!煤矿行业的报表很复杂不是吗,用CrystalReports来解决吧!这里练习了一下CrystalReports的使用。

  看看煤矿储量管理的一张报表,啊,真的很复杂啊!

图1

  仔细分析,其中有一部分(红色框表示)是可以作为一张子表显示的。模拟这个子表,首先定义一个类Res,很简单,就几个属性字段。

View Code

 1 namespace 水晶报表练习 2 { 3     class Res 4     { 5         double x; 6  7         public double X 8         { 9             get { return x; }10             set { x = value; }11         }12         double y;13 14         public double Y15         {16             get { return y; }17             set { y = value; }18         }19         double x1;20 21         public double X122         {23             get { return x1; }24             set { x1 = value; }25         }26         double y1;27 28         public double Y129         {30             get { return y1; }31             set { y1 = value; }32         }33         double x2;34 35         public double X236         {37             get { return x2; }38             set { x2 = value; }39         }40         double y2;41 42         public double Y243         {44             get { return y2; }45             set { y2 = value; }46         }47     }

From窗体From的代码如下:

View Code

 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Windows.Forms; 9 using System.Collections;10 using CrystalDecisions.CrystalReports.Engine;11 12 namespace 水晶报表练习13 {14     public partial class Form1 : Form15     {16         public Form1()17         {18             InitializeComponent();19         }20         private ArrayList stockValues;21         private ReportDocument stockObjectsReport;22         private void Form1_Load(object sender, EventArgs e)23         {24             stockValues=new ArrayList();25             //string reportPath =Application.StartupPath+"\\CrystalReport1.rpt";26 //string reportPath = @"..\..\CrystalReport2.rpt";27 28             stockObjectsReport = new ReportDocument();29            // stockObjectsReport.Load(reportPath);30 31             for (int i = 1; i < 5; i++)32             {33                 Res m_Res = new Res();34                 m_Res.X = 100*i;35                 m_Res.Y = 2;36                 m_Res.X1 = 10;37                 m_Res.X2 = 12;38                 m_Res.Y1 = 4;39                 m_Res.Y = 5;40                 stockValues.Add(m_Res);41             }42            43             //stockObjectsReport.SetDataSource(stockValues);44             string reportPath2 = @"..\..\CrystalReport3.rpt";45 46             ReportDocument subReport = new ReportDocument();47             stockObjectsReport.Load(reportPath2);48             subReport=stockObjectsReport.OpenSubreport("CrystalReport2.rpt");49             subReport.SetDataSource(stockValues);50             crystalReportViewer1.ReportSource = stockObjectsReport;51         }52     }53 }

  水晶报表设计器中首先要设置纸张,接下来主要就是绘制线形成表格。下面打开字段资源管理器,选择数据库专家,将自己新建的Res的.Net对象添加到选定表。

在子表设计器中通过组专家设置组字段。这里数据的显示主要依靠组和字段,结果见下图4。在主表中右键单击选择插入子表,我这里选择子表数据从已有的建立,当然也可以建立新的啦!

图2

图3

图4
最后是模拟结果:

水晶报表CrystalReports很强大也很简单!相关推荐

  1. 文档过期打不开怎么办_4 个超实用金山文档小技巧,很强大也很简单,赶紧收藏!...

    01 设置文档权限,保护文档安全 金山文档除了可以通过链接分享给QQ.微信等好友或群组邀请对方协作编辑外,同时可以为文档设置不同权限. 以金山文档网页版举例(手机金山文档小程序同理) 打开文档后,点击 ...

  2. 报表学习总结(一)——ASP.NET 水晶报表(Crystal Reports)的简单使用

    报表学习总结(一)--ASP.NET 水晶报表(Crystal Reports)的简单使用 目录 一.水晶报表简介 二.水晶报表的实现模式 2.1.拉(PULL)模式 2.1.1.不敲一句代码创建水晶 ...

  3. 水晶报表使用经验总结

    资料: Asp.Net中使用水晶报表(上) www.dotnet8.com  2002-9-6  DotNet吧 这篇文章教你如何在.Net Web应用中使用水晶报表,也可以让你在学习过程中少走一些弯 ...

  4. CSDN社区关于水晶报表的讨论

    CSDN - 专家门诊 关闭窗口       主        题:  有关水晶报表的使用经验和资料总结,欢迎各位使用过水晶报表的同仁把自己在使用过程中的总结.经验.体会同大家共享!! 作       ...

  5. php可以用水晶报表吗,什么是水晶报表与水晶报表功能分析

    水晶报表 水晶报表(Crystal Report)是业内最专业.功能最强的报表系统,它除了强大的报表功能外,最大的优势是实现了与绝大多数流行开发工具的集成和接口.在VS.Net平台做过报表开发的程序员 ...

  6. .NET环境下水晶报表使用总

    水晶报表是一个优秀的报表开发工具,本人在开发通用管理系统的时候,所有报表都使用水晶报表,其简单.易用和强大的功能令笔者倍加喜爱,现将水晶报表使用手记呈现给大家. 一.在使用自带的水晶报表时,请注册,否 ...

  7. .NET环境下水晶报表使用总结

    水晶报表是一个优秀的报表开发工具,本人在开发通用管理系统的时候,所有报表都使用水晶报表,其简单.易用和强大的功能令笔者倍加喜爱,现将水晶报表使用手记呈现给大家. 一.在使用自带的水晶报表时,请注册,否 ...

  8. C#之二十三 打印和水晶报表

    视频课堂https://edu.csdn.net/course/play/7621 C#程序设计及宿舍管理系统实战  https://edu.csdn.net/course/detail/27107 ...

  9. 在VB中使用水晶报表总结

    水晶报表(Crystal Report)是业内最专业.功能最强的报表系统,它除了强大的报表功能外,最大的优势是实现了与绝大多数流行开发工具的集成和接口.在VS.Net平台做过报表开发的程序员,一定都对 ...

  10. python 水晶报表_什么是水晶报表与水晶报表功能分析

    水晶报表 水晶报表(Crystal Report)是业内最专业.功能最强的报表系统,它除了强大的报表功能外,最大的优势是实现了与绝大多数流行开发工具的集成和接口.在VS.Net平台做过报表开发的程序员 ...

最新文章

  1. axmath公式编辑器
  2. OpenStack Ocata Release Notes
  3. OpenCV数字图像处理(5) 像素访问之添加椒盐实例 通道分离与合并
  4. excel图片变成代码_没错, Python杀死了Excel
  5. leetcode C++ 2. 两数相加 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数
  6. iOS开发日记19-7.0之后的截屏方法
  7. 《程序化广告实战》一 导读
  8. 【转】密码破解全能工具:Hashcat密码破解攻略
  9. 如何恢复删除的文件?4种常用方法教你恢复被删除的文件
  10. 使用dkms将驱动加入内核模块
  11. unity android 30帧,解除某Unity游戏的30帧帧率限制
  12. android 传感器应用
  13. 【Pytorch】torch. bmm()
  14. 文本CSS多行溢出隐藏显示省略号
  15. XSS入门 XSS Challenges靶场搭建/前五关/基础教程
  16. 大数据公司挖掘数据价值的49个典型案例!信息量很大
  17. 巴伦(来自微博射频网)
  18. 电磁波是怎么传播的?
  19. Android 天气预报App的简单实现
  20. php 兴盛时期,计算机经历的四个时代是什么?

热门文章

  1. IT营最新Node.js入门到实战项目视频教程免费下载
  2. RoboCode 参考代码
  3. 进度计划表软件测试,如何控制项目进度?项目进度管理中项目计划进度表的制定...
  4. 天正的计算机快捷命令大全,cad天正建筑快捷键命令大全(整理).doc
  5. (七)linux操作系统-linux韩顺平2021笔记
  6. 大一计算机引论知识点,计算机引论知识点2013-1-6.doc
  7. Hadoop中各组件的作用
  8. LiveGBS国标GB/T28181流媒体平台华为IPC设备GB35114配置接入说明
  9. android中高德地图的poi检索
  10. npm 安装axios报错