一、报表设计器安装(安装完成后,就可以在新建项中看到报表模版)

1. 点击工具-> 扩展和更新,下载Microsoft Rdlc报表设计器

2. 下载成功后重启VS2017,报表设计器自动安装。

二、安装Report Viewer控件

1.图形界面安装

在项目名称上右键->管理NuGet程序包->安装Microsoft.ReportingServices.ReportViewerControl.Winforms组件

2.命令行安装

执行命令:Install-Package Microsoft.ReportingServices.ReportViewerControl.WinForms -Pre

三、控件安装成功后将控件添加到工具栏中。

在工具箱中点击右键,选择“选择项” 
 

在.net framework组建选项卡中选择“浏览” ,在工程根目录下 
“\packages\Microsoft.ReportingServices.ReportViewerControl.Winforms.140.340.80\lib\net40” 
选择“Microsoft.ReportViewer.WinForms.dll”

四、注意问题:

1.140版本控件可以在窗体上显示,但生成报表后报表显示不居中。

2.150版本控件不能在窗体上显示,但生成报表后报表居中显示。

3.中文乱码

修改每个文本单元格字体为“宋体”。

4.报表功能文字显示英文

继承IReportViewerMessages接口,设置reportViewer1.Messages = New MessageClass();

public class MessageClass : IReportViewerMessages
    {

#region IReportViewerMessages Members

public string BackButtonToolTip
        {
            get { return ("返回"); }
        }

public string BackMenuItemText
        {
            get { return ("返回"); }
        }

public string ChangeCredentialsText
        {
            get { return ("Add your custom text here."); }
        }

public string CurrentPageTextBoxToolTip
        {
            get { return ("当前页"); }
        }

public string DocumentMapButtonToolTip
        {
            get { return ("文档结构"); }
        }

public string DocumentMapMenuItemText
        {
            get { return ("文档结构"); }
        }

public string ExportButtonToolTip
        {
            get { return ("导出"); }
        }

public string ExportMenuItemText
        {
            get { return ("导出"); }
        }

public string FalseValueText
        {
            get { return ("FalseValueText"); }
        }

public string FindButtonText
        {
            get { return ("查找"); }
        }

public string FindButtonToolTip
        {
            get { return ("查找"); }
        }

public string FindNextButtonText
        {
            get { return ("下一个"); }
        }

public string FindNextButtonToolTip
        {
            get { return ("下一个"); }
        }

public string FirstPageButtonToolTip
        {
            get { return ("首页"); }
        }

public string LastPageButtonToolTip
        {
            get { return ("最后一页"); }
        }

public string NextPageButtonToolTip
        {
            get { return ("下一页"); }
        }

public string NoMoreMatches
        {
            get { return ("NoMoreMatches"); }
        }

public string NullCheckBoxText
        {
            get { return ("NullCheckBoxText"); }
        }

public string NullCheckBoxToolTip
        {
            get { return ("NullCheckBoxToolTip"); }
        }

public string NullValueText
        {
            get { return ("NullValueText"); }
        }

public string PageOf
        {
            get { return ("/"); }
        }

public string PageSetupButtonToolTip
        {
            get { return ("页面设置"); }
        }

public string PageSetupMenuItemText
        {
            get { return ("页面设置"); }
        }

public string ParameterAreaButtonToolTip
        {
            get { return ("ParameterAreaButtonToolTip"); }
        }

public string PasswordPrompt
        {
            get { return ("PasswordPrompt"); }
        }

public string PreviousPageButtonToolTip
        {
            get { return ("上一页"); }
        }

public string PrintButtonToolTip
        {
            get { return ("打印"); }
        }

public string PrintLayoutButtonToolTip
        {
            get { return ("打印布局"); }
        }

public string PrintLayoutMenuItemText
        {
            get { return ("打印布局"); }
        }

public string PrintMenuItemText
        {
            get { return ("打印"); }
        }

public string ProgressText
        {
            get { return ("正在生成报表"); }
        }

public string RefreshButtonToolTip
        {
            get { return ("刷新"); }
        }

public string RefreshMenuItemText
        {
            get { return ("刷新"); }
        }

public string SearchTextBoxToolTip
        {
            get { return ("搜索"); }
        }

public string SelectAValue
        {
            get { return ("SelectAValue"); }
        }

public string SelectAll
        {
            get { return ("SelectAll"); }
        }

public string StopButtonToolTip
        {
            get { return ("停止"); }
        }

public string StopMenuItemText
        {
            get { return ("停止"); }
        }

public string TextNotFound
        {
            get { return ("Add your custom text here."); }
        }

public string TotalPagesToolTip
        {
            get { return ("全部页"); }
        }

public string TrueValueText
        {
            get { return ("Add your custom text here."); }
        }

public string UserNamePrompt
        {
            get { return ("Add your custom text here."); }
        }

public string ViewReportButtonText
        {
            get { return ("Add your custom text here."); }
        }

public string ViewReportButtonToolTip
        {
            get { return ("Add your custom text here."); }
        }

public string ZoomControlToolTip
        {
            get { return ("Add your custom text here."); }
        }

public string ZoomMenuItemText
        {
            get { return ("Add your custom text here."); }
        }

public string ZoomToPageWidth
        {
            get { return ("页宽"); }
        }

public string ZoomToWholePage
        {
            get { return ("整页"); }
        }

#endregion
    }

5.如果从对象中获取报表数据,当类型中新增属性后,需要刷新数据源和数据集,这样才能在报表中使用新属性。

6.分组统计后,单元格值为空,默认应该给补上0。

使用表达示:=IIf(Sum(Fields!Weight.Value)>0,Sum(Fields!Weight.Value),0)

7.表格嵌套,内表格随着列增加会撑大外表格。

8.报表中显示序号

dim count as integer
public function GetCount() as integer
    count=count+1
    return count
end function

VS2017使用ReportViewer报表组件相关推荐

  1. ReportViewer 控件安装

    请搜索: C#VS2017 添加 ReportViewer控件  ,相关博客:https://blog.csdn.net/qq_40741855/article/details/81065685 安装 ...

  2. php+控制器中的全局变量,php中的全局变量引用

    全局变量在函数外部定义,作用域为从变量定义处开始,到本程序文件的末尾.但和其他语言不同,php的全局变量不是自动设为可用的,在php中函数可以视为单独的程序片段,局部变量会覆盖全局变量的能见度,因此, ...

  3. VS2017、WPF使用报表工具RDLC完成报表,打印预览和直接打印

    最近需要用到WPF做一个报表 然后经过各种查阅资料 终于整出来了一个Demo 软件是VS2017 .netframework是4.5 1.配置环境 工具,获取扩展和更新 然后安装RDLC,然后重启 新 ...

  4. VS2017 水晶报表安装及使用

    第一步  下载Reporting(RDLC) 控件 下载安装好后,重新启动VS2017. 重启后发现在工具栏里没有 ReportViewer这一项. 解决办法: https://www.pianshe ...

  5. VS2017 winform开发知识点汇总

    VS2017 winform开发知识点汇总 1 快捷键 2 控键缩写 2.1 标准控件 2.2 容器控件 2.3 菜单和工具栏 2.4 数据 2.5 对话框 2.6 组件 2.7 印刷 2.8 水晶报 ...

  6. VS 2017 添加 ReportViewer

    准备工作 移除 ReportViewer 控件和卸载 Microsoft Rdlc Report Designer for Visual Studio 扩展. 这是针对已经在 VS 2017 的工具箱 ...

  7. winForm安装ReportViewer

    在做一个小项目,想用来做表格显示数据的,找了一遍,发现DataGridView就可以用来做数据的表格显示. 后期也会用到,就把ReportViewer的安装和简单的使用写下来. 先在工具,工具箱下,浏 ...

  8. 用vs2017编写html,vs2017可以编写java

    vs2017可以编写java [2021-02-06 06:57:17]  简介: 服务器 Dockerfile这个东西我们之前是介绍过,它方便,快捷,易用,而在vs2017中也对docker进行了支 ...

  9. vs2017引入mysql_windows+vs2017+C语言 引入mysql.h对MYSQL数据库的操作

    mysql.h文件用作VS开发用,用来连接数据库.没有mysql.h文件,就无法调用mysql的东西 也无法用C语言对MYSQL操作.一般安装了mysql之后,这个文件就在mysql目录的includ ...

最新文章

  1. oracle发送邮件附件,oracle发送邮件存储过程:
  2. HTML5中video标签与canvas绘图的使用
  3. linux加密解密基础、PKI及SSL、创建私有CA
  4. RabbitMQ入门学习系列(六) Exchange的Topic类型
  5. leveldb登山之路——cache
  6. 我的Latex中文报告模板
  7. 在ArcMap中直接加载谷歌地球影像的方法
  8. 地壳中元素含量排名记忆口诀_【化学好好玩】用口诀帮你速记忆化学知识
  9. python存根文件_python中的函数存根
  10. 网站seo优化到底该怎么做?
  11. 为了看Google IO 2019大会使用的工具
  12. 苹果手机如何切换沙盒账号登录
  13. python开发erp系统odoo_ODOO快速入门与实战:PYTHON开发ERP指南
  14. c++工厂机器安排(贪心)
  15. Java POI的Excel操作(行高列宽比例;生成说明,标题,字段;导出Excel代码,压缩)
  16. 严恭敏老师PSINS工具箱解读——test_SINS_GPS_153
  17. [USACO06FEB]数字三角形Backward Digit Su…
  18. Synchronized局限性
  19. thymeleaf:字符串Strings常见的使用方法
  20. 门禁.dat文件用什么打开_什么是DAT文件(以及如何打开一个文件)?

热门文章

  1. 将项目上传到Gitee上(命令方式使用TortoiseGit方式)
  2. 用matlab求解线性代数方程
  3. iOS不能跳转到支付宝的解决办法
  4. 读书百客:《草虫》赏析
  5. 威胁快报|首爆新型ibus蠕虫,利用热门漏洞疯狂挖矿牟利
  6. 基于ASP.NET+SQL Server的网站登录注册功能设计与实现【100010308】
  7. 猫眼APP我的界面布局
  8. 【论文精读】Unsupervised Deep Image Stitching: Reconstructing Stitched Features to Images(无监督的深度图像拼接)
  9. 畅购商城六:微服务网关与jwt令牌
  10. sed 删除匹配行的指定字符串