一、FastReport的简介

FastReport是功能齐全的报表控件,使开发者可以快速并高效地为·NET/VCL/COM/ActiveX应用程序添加报表支持。

二、FastReport的安装(推荐网址:https://www.cnblogs.com/yoyo-524/p/6116884.html

感觉写的安装步骤很详细了,在这就不赘述了。另外提一个小问题,就是按照步骤我们安装好的是英文,怎么转成中文呢?

大家不用再去网上找中文破解包之类的,直接在菜单里找到“File”——>“Select Language”,然后选择我们需要的中文简体就OK了。

三、在Winform中使用FastReport

1、新建一个窗体,给窗体拖入

这个控件,

然后设置属性,最终成这样

2、新建一个frx报表,打开我们新安装的,打开之后选择“文件”——>“新建”,选择空报表。

然后给空报表选择数据源,如果不选则会报这个错

菜单“数据”——>“添加数据源”,然后就是一系列的选择数据库,写用户名,密码这类的,填写好后点击“下一个”,然后出现这个页面。

我需要的数据是用紫红色标出来的那四个字段,这里需要注意那个红色圈出的按钮“添加SQL查询...”(注:如果你需要的只是一个表里的全部或部分数据,那么直接点“完成”即可)

【这里修改一下哈,可以不勾选表里面的字段,然后直接点击“添加sql查询...”按钮的,这样在下面的数据源里就不会出现UserInfo和Dept这两个表了,直接一个Table就OK了】

点击这个按钮,然后“下一个”到这个页面

然后一直点击“下一个”直到完成。

然后就会发现报表右侧的数据源里多了个Table

然后将Table里面的字段直接拖入报表你想要显示数据的位置即可。

这个数据区显示的数据源,决定你报表显示的数据。这就是为什么非要把两个表里的字段整合到一个表中的原因。(有兴趣的自己试试,选择不同的数据区,导出的数据有什么区别)

【其实这个时候,你点击报表中的预览按钮已经能够显示出里面的数据了,当然,参数time的值除外。所以到这里我就迷惑了,都已经把数据源搞定了,我在代码里还折腾啥呢?但是一旦在报表中不给数据源,那里面的字段怎么拖进去?后续应该怎么做?这个有知道的希望能够留言解惑,拜托啦~】

报表模板就算做完了,然后保存,自己选个路径。然后我是又把它复制到了Reports这个文件夹里。在VS中打开frx报表,会以xml文件的形式打开。如果想要再次修改报表模板,可以选中

报表,右键选择打开方式,找到就OK了。还有一点需要注意,就是报表放进文件夹后需要右键属性,然后在“复制到输出目录中”一定要选成“始终复制”。

,要不然编译

report.Load(filename);//找不到文件,报错

的时候在bin\Debug\...文件目录下找不到报表文件,会报错。

3、代码,这里给报表附数据源,datatable和dataset都可以。

 private void FormFR_Load(object sender, EventArgs e)
{
DataSet data = null;
string conStr = "Server='127.0.0.1';database=demo;UID='sa';PWD='wsn******';";
try
{
SqlConnection con = new SqlConnection(conStr);
con.Open();
string sql = @"select Dept.DeptID,Dept.DeptName,UserInfo.UserName,UserInfo.Salary from
dbo.Dept left join dbo.UserInfo on Dept.ID=UserInfo.DeptID";
SqlCommand sqlcmd = new SqlCommand(sql, con);
SqlDataAdapter sda = new SqlDataAdapter(sqlcmd);
data = new DataSet();
sda.Fill(data);
con.Close();
sda.Dispose();
}
catch (Exception err)
{
MessageBox.Show(err.StackTrace);
} try
{
FastReport.Report report = new FastReport.Report();
string filename = @"Reports\fr一览.frx"; report.Load(filename);
report.Preview = this.previewControl1;//让报表显示在窗体的控件中
                report.RegisterData(data);
report.SetParameterValue("time", DateTime.Now.Date.ToString("yyyy-MM-dd"));//报表里的参数赋值
report.Prepare();
report.ShowPrepared();
}
catch (Exception err)
{
MessageBox.Show(err.Message);
}
}

最后报表显示的数据(因为页面太大,不能把前边的数据和操作时间截在一起,只能两张图了):

关于FastReport在winform中的使用(包含FastReport.net的安装步骤链接)的更多相关文章

  1. Windows中 MySQL5.7.17解压版安装步骤

    1.先去MySQL官网下载.当前最新版是5.7.19,可能安装方法不同了,本人测试没有安装成功,若有安装成功的朋友,希望分享一下安装步骤. 个人推荐下载MySQL5.7.17,官方下载网址:https ...

  2. Winform中使用FastReport的DesignReport时怎样给通过代码Table添加数据

    场景 FastReport安装包下载.安装.去除使用限制以及工具箱中添加控件: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  3. Winform中使用FastReport的DesignReport时怎样设置Table的size自动调整

    场景 FastReport安装包下载.安装.去除使用限制以及工具箱中添加控件: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  4. Winform中在FastReport的PreviewControl预览控件中对report控件模板中控件值进行修改

    场景 FastReport安装包下载.安装.去除使用限制以及工具箱中添加控件: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  5. Winform中使用FastReport实现自定义PDF打印预览

    场景 Winform中使用FastReport实现简单的自定义PDF导出: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1009 ...

  6. Winform中使用FastReport的PictureObject时通过代码设置图片源并使Image图片旋转90度

    场景 FastReport安装包下载.安装.去除使用限制以及工具箱中添加控件: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  7. FastReport.net 绿色破解版winform中使用

    FastReport 是非常有名的报表库,曾经在delphi中经常看到 现在FastReport.net 是.net平台下的实现.它的价格对于个人开发者来说确实非常非常贵 出于学习的目的(0<& ...

  8. 另一种在WINFORM中使用XNA的方法

    之前在写化学分子模型制作程序的时候,使用一种方法,将WINFORM控件嵌入到XNA窗体中,从而实现了即使用WINFORM窗体控件又使用XNA.最近在写另一个物理运动学课件制作程序,同样使用XNA,但从 ...

  9. .net开发笔记(十八) winform中的等待框

    winform中很多任务是需要在后台线程(或类似)中完成的,也就是说,经常容易涉及到UI界面与后台工作线程之间的交互.比如UI界面控制后台工作的执行(启动.暂停.停止等),后台工作进度在UI界面上的显 ...

随机推荐

  1. 20165223 《信息安全系统设计基础》 实现mybash

    一.了解 mybash 1. 简介   bash 是 Bourne Again Shell 的缩写,是linux默认的标准shell(也是大家常说的系统内核),bash也是Unix/Linux上常见的 ...

  2. redis jedis使用

    jedis就是集成了redis的一些命令操作,封装了redis的java客户端.提供了连接池管理.一般不直接使用jedis,而是在其上再封装一层,作为业务的使用.如果用spring的话,可以看看spr ...

  3. PKUWC2019爆0记

    PKUWC2019爆0记 访问量该骗的还是要骗. 1.20 坐了一天的高铁到jz了,热的一批 1.21 上午开营仪式 下午day1 打开发现有个地主斗 然后开T1 出题人你™搞笑吧放一道sb都能切的题 ...

  4. CF765F Souvenirs

    CF765F Souvenirs [CF765F]Souvenirs 主席树 - CQzhangyu - 博客园 其实不用主席树 感觉像是离线问题 但是不能支持差分.分治又处理不了 考虑按照右端点排序 ...

  5. ADO.NET中的五大内置对象

    ADO.NET中的五大内置对象 学习链接:https://blog.csdn.net/wxr15732623310/article/details/51828677

  6. 导出python的环境

    1.导出 pip freeze >  packegas.txt 2.在其他环境安装 pip install -r  packages.txt

  7. JavaXML整理

    XML 浏览器的入口不同(访问路径),访问的资源也不同. 1.1XML语法 1.文档声明必须为<?xml开头,以?>结束; 2.文档声明必须从文档的0行0列位置开始: 3.文档声明只有属性 ...

  8. Centos7 安装 tree

    Centos7 安装 tree 用命令 yum 安装  tree yum -y install tree

  9. xls添加 序号列技巧

    问题背景:在给xls添加一列序列时常碰到一个问题,用下拉很不科学(如果行数很多):用双击需要右边有一列不断开的数据列. 方法一:在A1 =row()回车,选择范围,快捷键 ctrl+d,   复制其文 ...

  10. Bootstrap模态框钩子事件

    事件类型   描述show.bs.modal show 方法调用之后立即触发该事件.如果是通过点击某个作为触发器的元素,则此元素可以通过事件的 relatedTarget 属性进行访问.shown.b ...