`

黑马程序员_水晶报表

阅读更多
原帖地址:http://www.cnblogs.com/ningrongjiang/archive/2013/06/10/3130817.html

      今天学做人事管理系统,需要用到打印报表的功能,水晶报表是一般比较常用的了,杨老师讲的也很细心。


水晶报表的基本使用步骤:


1,下载并安装水晶报表for 2010(因为我VS用的是2010)


2,工具箱新建选项卡“水晶报表”,在【WPF组件】选择卡下添加水晶报表for vs2010提供的控件(程序集都以SAPBusinessObjects开头)。如图:



把SAPBusinessObjects开头的全打上勾。


3,wpf项目所用的“目标框架”必须改成“.Net Framework4”,不能是4 Client。要给app.config节点的startup增加一个属性:useLegacyV2RuntimeActivationPolicy="true", 否则运行会报异常FileNotFoundException。如图:



把默认的改成改成“.Net Framework4”。


4、项目中,新建项“Reporting”→CrystalReport,比如命名为MyCrystalReport1.rpt,接着对报表进行设计


1)“报表头”是整个报表的头部(如果多页的话只在第一页显示),“页眉”是每页头部显示的内容,“页脚”是每页尾部显示的内容,“详细资料”是每一条数据的循环显示(类似于DataGrid、ListBox),“报表尾”用来在报表的尾部显示总和、平均值等汇总信息。
2)“工具箱”中可以拖放“文本对象”显示固定文本,“线条对象”和“框对象”画线或者画框。
3)参数字段:在“参数字段”上点右键,选择“新建”,给参数取名字和类型,然后把参数字段拖放到报表上。在代码中通过SetParameterValue设定参数的值,注意放到SetDataSource之后,否则会弹出输入参数值的对话框
4)“特殊字段”可以拖放打印日期、页码、总页数等。



5、在项目中把Model类和取数据的方法建好,然后项目要保证编译通过。


6、在“数据库字段”上点右键选择“数据库专家”,在对话框中选择“项目数据”→“.Net objects”,选中Model类(如果选不到类,说明没编译OK),然后就可以在左边的“数据库字段”中拖放字段到“详细资料”中,会在“页眉”中自动增加对应字段头,可以在“页面”的头部字段中点右键“编辑文本对象”把显示改为中文。
7、增加“总值”、“平均值”之类,在“字段资源管理器”的“运行总计字段”新建,在对话框中选择字段和汇总类型
公式字段,在“公式字段”上点右键“新建”,选择字段和编辑公式,然后就可以用了。
8、
在窗口中放置一个CrystalReportsViewer控件(不要设定Margin和width、height,会自动占全屏),例如名字为CrystalReportsViewer1
执行方法获取数据,然后把数据设置为数据源(MyCrystalReport1是rpt文件的类名)
MyCrystalReport1 rpt = new MyCrystalReport1();
rpt.SetDataSource(new PersonDAL().ListAll());


我的小例子:


报表设置:



代码:



 1 private void btnQuery_Click(object sender, RoutedEventArgs e)
2 {
3 int year = Convert.ToInt32(txtYear.Text);
4 int month = Convert.ToInt32(txtMonth.Text);
5 Guid deptId = (Guid)cmbDept.SelectedValue;
6
7 if (new SalarySheetDAL().IsExit(year, month, deptId)==false)
8 {
9 MessageBox.Show("还未生成对应的工资表");
10 return;
11 }
12
13 SalarySheetItem[] items = new SalarySheetDAL().GetSalarySheetItems(year, month, deptId);
14
15 SalarySheetItemRpt[] rptItems = new SalarySheetItemRpt[items.Length];
16
17 for (int i = 0; i < items.Length; i++)
18 {
19 SalarySheetItemRpt rptItem = new SalarySheetItemRpt();
20 SalarySheetItem item = items[i];
21 rptItem.BaseSalary = item.BaseSalary;
22 rptItem.Bonus = item.Bonus;
23 rptItem.Fine = item.Fine;
24 rptItem.Other = item.Other;
25 rptItem.EmployeeName = new EmployeeDAL().GetById(item.EmployeeId).Name;
26 rptItems[i] = rptItem;
27 }
28
29 SalarySheetReport report = new SalarySheetReport();
30 report.SetDataSource(rptItems);
31 report.SetParameterValue("",year);
32 report.SetParameterValue("", month);
33 report.SetParameterValue("部门名称", cmbDept.Text);
34 reportsViewerItems.ViewerCore.ReportSource = report;
35 }


最后看看运行的效果吧。



这样一个简单的水晶报表就完成了。


 


 

本文链接

分享到:
评论

相关推荐

    baobiao.rar_baobiao_vc 报表_报表 设计_水晶报表_水晶报表 VC

    在这个“baobiao.rar_baobiao_vc 报表_报表 设计_水晶报表_水晶报表 VC”压缩包中,包含了多个资源,用于帮助用户理解和实践在VC环境下使用水晶报表的设计过程。 首先,我们看到的"www.pudn.com.txt"可能是一个链接...

    csharp_win_adodotnet.zip_CSharp 报表_C# 水晶报表_报表_水晶报表_水晶报表 csharp

    在C#编程环境中,水晶报表(Crystal Reports)是一款强大的报表设计和数据可视化工具,它允许开发者创建复杂的报表,包括从数据库和其他数据源提取信息。"csharp_win_adodotnet.zip"是一个压缩包,其中包含了关于...

    示范添加水晶报表到VB程序内.zip_vb 水晶报表_vb 报表_vb 水晶报表_水晶报表_水晶报表 VB

    在VB(Visual Basic)开发环境中,水晶报表(Crystal Reports)是一种强大的报表生成工具,它允许开发者创建复杂的报表,包括从各种数据源获取信息并进行格式化。本教程将指导你如何将水晶报表集成到VB程序中,以...

    EXCEL报表_水晶报表_SQL_Server_2005报表制作实例

    EXCEL报表_水晶报表_SQL_Server_2005报表制作实例.ppt )

    shuijingbaobiao.rar_asp.net_asp.net 报表_水晶报表_水晶报表教程_水晶报表视频教程

    1. **水晶报表安装与配置**:学习如何在开发环境中安装和配置水晶报表,这通常涉及到安装水晶报表的SDK,设置数据源连接,以及在Visual Studio中添加水晶报表支持。 2. **数据源连接**:水晶报表可以连接到多种数据...

    csharp_win_dynamic_report_formula.zip_formula_report_水晶报表_水晶报表 c

    标题 "csharp_win_dynamic_report_formula.zip_formula_report_水晶报表_水晶报表 c" 暗示了这个压缩包包含的是一个关于C#环境下使用水晶报表(Crystal Reports)进行动态报告生成和公式运用的实例项目。水晶报表是...

    利用数据集在水晶报表中显示图像的_NET程序教程.zip_CSharp 水晶报表_水晶报表_水晶报表 csharp

    在.NET开发环境中,水晶报表(Crystal Reports)是一种广泛使用的报告生成工具,尤其在需要从数据库中提取并格式化数据以创建复杂报表时。本教程主要关注如何在水晶报表中利用数据集来显示图像,这对于创建具有更...

    CRRuntim_水晶报表运行包_64位+32位

    标题“CRRuntim_水晶报表运行包_64位+32位”指的是该压缩包包含了适用于64位和32位操作系统的水晶报表运行时环境。 在实际应用中,有时会出现客户端计算机因缺少必要的运行时组件而无法执行含有水晶报表的程序的...

    GroupTitle.rar_单元合并_报表_水晶报表

    【标题】"GroupTitle.rar_单元合并_报表_水晶报表" 涉及的核心知识点是水晶报表(Crystal Reports)中的单元合并技术。水晶报表是一款强大的报告设计工具,广泛应用于各类企业的数据分析和展示,尤其在创建复杂的...

    Crystal_水晶报表中文帮助手册(CHM)

    《Crystal_水晶报表中文帮助手册(CHM)》是专门针对水晶报表(Crystal Reports)的一份详尽的中文参考资料,旨在帮助用户深入理解和高效利用这款强大的报表设计工具。这份手册覆盖了水晶报表的所有核心功能和使用技巧...

    C_水晶报表使用(源代码)

    在这个“C_水晶报表使用(源代码)”的压缩包中,你将找到一个C#项目,它包含了使用水晶报表进行报表设计和展示的实例代码。 首先,让我们了解水晶报表的基本概念。水晶报表主要由以下几个部分组成: 1. 报表设计...

    Visual_Studio_2008_水晶报表快速入门

    ### Visual Studio 2008 水晶报表快速入门详解 #### 一、简介 水晶报表是一款功能强大的报表设计工具,广泛应用于各种业务场景下的数据展示与分析。本篇文章将详细介绍如何在Visual Studio 2008环境中利用水晶报表...

    Crystal_水晶报表中文帮助手册(CHM).chm

    《Crystal_水晶报表中文帮助手册》是一份详尽的指南,专为使用Crystal Reports的用户设计。这份CHM(Compiled Help Manual)文件是Microsoft编译的帮助文档格式,它集成了大量的信息,旨在协助用户深入理解和高效...

    Across_8col1head1_sql.rar_水晶报表 SQL

    标题中的“Across_8col1head1_sql.rar_水晶报表 SQL”表明这是一个关于使用水晶报表(Crystal Reports)结合SQL技术的教程或参考资料。水晶报表是一款强大的报表设计工具,广泛用于生成各类业务报告,而SQL是...

    csharp_web_samples1.rar_水晶报表

    标题中的“csharp_web_samples1.rar_水晶报表”表明这是一个关于C# Web应用程序中使用水晶报表(Crystal Reports)的示例项目。水晶报表是SAP公司的一款强大的报表生成工具,常用于.NET框架下开发的数据可视化和报告...

    shuijingbaobiao.rar_报表软件_水晶报表

    水晶报表(Crystal Reports)是一款广泛应用于商业智能领域的报表软件,由SAP公司开发,主要用于设计、制作和打印各种复杂的业务报告。它具有丰富的图形化设计界面,支持多种数据源,可以方便地创建交互式报表,并能...

    sjbb.rar_水晶报表 c#

    【水晶报表与C#开发详解】 水晶报表(Crystal Reports)是一款功能强大的报表设计工具,它允许开发者创建复杂的报告,包括从简单的数据汇总到详细的多页分析。在C#环境中,水晶报表可以无缝集成,为.NET应用程序...

    跟我一起学VS2005_水晶报表制作

    《跟我一起学VS2005_水晶报表制作》是一门深入浅出的教程,旨在帮助初学者掌握在Visual Studio 2005 (VS2005) 中使用水晶报表(Crystal Reports)的设计和应用。水晶报表是Business Objects公司(现为SAP的一部分)...

    csharp_win_sub_daterange_param_engine.zip_sub_水晶报表 csharp

    在C#编程环境中,水晶报表(Crystal Reports)是一款强大的报告设计工具,广泛应用于Windows应用程序中,用于生成基于数据库数据的复杂报表。这个压缩包“csharp_win_sub_daterange_param_engine.zip”似乎包含了...

    水晶报表的极致应用,可以解决学习ASP·NET程序员对水晶报表的基础认识.

    水晶报表的极致应用,可以解决学习ASP·NET程序员对水晶报表的基础认识.

Global site tag (gtag.js) - Google Analytics