Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2012 Reportviewer不可见_Visual Studio 2012 - Fatal编程技术网

Visual studio 2012 Reportviewer不可见

Visual studio 2012 Reportviewer不可见,visual-studio-2012,Visual Studio 2012,我正在使用Visual Studio 2013 Professional和vb.net。当我启动一个新的Windows窗体并将RePortVIEW拖到空白窗体时,它不会出现在窗体上。底部显示ReportViewer1;但是,没有可见的reportviewer。这意味着我无法将查看器附加到报表或数据库 如果我开始一个全新的项目,我可以拖动reportVierwer。这是一个大项目,或者我会开始一个新的项目并完成它。您可以随时手动在代码隐藏中添加它,或者手动编辑设计器 将加载事件处理程序添加到表单以

我正在使用Visual Studio 2013 Professional和vb.net。当我启动一个新的Windows窗体并将RePortVIEW拖到空白窗体时,它不会出现在窗体上。底部显示ReportViewer1;但是,没有可见的reportviewer。这意味着我无法将查看器附加到报表或数据库


如果我开始一个全新的项目,我可以拖动reportVierwer。这是一个大项目,或者我会开始一个新的项目并完成它。

您可以随时手动在代码隐藏中添加它,或者手动编辑设计器

将加载事件处理程序添加到表单以在加载时刷新报表查看器:

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Me.ReportViewer1.RefreshReport()
End Sub
并在designer中创建
ReportViewer
实例。在
初始化组件中

Private Sub InitializeComponent()
    Me.ReportViewer1 = New Microsoft.Reporting.WinForms.ReportViewer()

    '...

    '
    'ReportViewer1
    '
    Me.ReportViewer1.Location = New System.Drawing.Point(13, 13)
    Me.ReportViewer1.Name = "ReportViewer1"
    Me.ReportViewer1.Size = New System.Drawing.Size(396, 246)
    Me.ReportViewer1.TabIndex = 0

    '...
End Sub
Friend WithEvents ReportViewer1 As Microsoft.Reporting.WinForms.ReportViewer
这不是理想的解决方案。当添加到主代码时,您混合了表示和逻辑。修改设计器代码时存在被覆盖的风险

也许有些改进是创建另一个表单分部类,在其中放置上述代码。例如,作为
LoadReportViewer
方法,然后从代码中调用该方法。这样,您就不会将设计器代码与逻辑混在一起,也不会冒设计器删除更改的风险。

出于某种原因(在VS2015上),ReportViewer实例不会添加到InitializeComponents方法内表单的控件集合中

添加这一行(reportViewer是reportViewer的实例)修复了以下问题:

this.Controls.Add(reportViewer);

我添加了所有这些代码,它没有给出任何错误。但是,在“设计”视图中,我看不到报表查看器。我假设存在一个不正确的设置或一个关闭的引用。如果我能找到,那就最好了。顺便说一句,除了ReportViewer1.Refresh报表之外,此代码与我从工具箱添加报表查看器时的代码相同。从工具箱添加时,ReportViewer1位于“属性”窗口中。我在一个新程序中创建了一个报告,并将其复制到该项目的文件夹中,然后添加到该文件夹中,报告查看器可见。我不知道这个提示是否能帮助任何人帮我弄明白,但这就是正在发生的事情。设计器生成的代码有什么区别?也许这会给原始解决方案中缺少的东西提供一些线索。