reportviewer 中未加载数据 VB.NET
Data not Loaded in reportviewer VB.NET
我在 ms-sql 服务器 2014 中创建了存储过程并创建了 rdlc 报告。现在以编程方式在 reportviewer 中绑定报表,但在报表中仅显示列而不显示数据...
下面的代码是我的存储过程:
USE [Bonny]
GO
/****** Object: StoredProcedure [dbo].[AccMast_AllDetail] Script Date: 17/10/2016 12:10:42 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Proc [dbo].[AccMast_AllDetail]
as
Select Account_Code,Party_Name,Address_1,Address_2,City from FAMPAR order by Account_Code
GO
我的 VB.NET reportviewer 表单加载事件中的代码...
ReportViewer.Reset()
Dim data As New AccMastDataSet
Dim ReportDataSource1 As ReportDataSource = New ReportDataSource
ReportDataSource1.Name = "AccMastDataSet"
ReportDataSource1.Value = rds
ReportViewer.LocalReport.DataSources.Clear()
ReportViewer.LocalReport.DataSources.Add(ReportDataSource1)
ReportViewer.LocalReport.ReportEmbeddedResource = "Report1.rdlc"
ReportViewer.LocalReport.ReportPath = "D:\netbonny\netbonnyproject\netbonnyproject\Reports\Report1.rdlc"
ReportViewer.RefreshReport()
在此我得到列 headers 但不是数据,数据在那里并在 sql management studio 中检查...
我试过的另一个 VB.NET 代码是:
Dim data As New AccMastDataSet
Dim abc = data.Tables("AccMast_AllDetail")
Dim rds = New Microsoft.Reporting.WinForms.ReportDataSource("AccMastDataSet", data)
ReportViewer.LocalReport.DataSources.Clear()
ReportViewer.LocalReport.DataSources.Add(rds)
ReportViewer.LocalReport.ReportEmbeddedResource = "netbonnyproject.Report1.rdlc"
ReportViewer.RefreshReport()
这里出现错误:
我不知道它说的是什么...
帮帮我。
当前您已将 DataSet
的新实例的 DataTable
传递给报表数据源。所以很明显它应该是空的,你会看到报告列 headers 没有任何数据。
您应该将数据加载到 DataTable
中,然后将其传递给报告。
例如,如果您在表单上放置了一个 TableAdapter
,您可以使用这样的代码:
Me.Table1TableAdapter.Fill(Me.DataSet1.Table1)
Dim rds = New Microsoft.Reporting.WinForms.ReportDataSource("DataSet1", Me.DataSet1.Table1)
还有
Dim cn = "Connection String"
Dim cmd = "Stored Procedre Name"
Dim table = New DataTable()
Using adapter As New SqlDataAdapter(cmd, cn)
adapter.SelectCommand.CommandType = CommandType.StoredProcedure
adapter.Fill(table)
End Using
Dim rds = New Microsoft.Reporting.WinForms.ReportDataSource("DataSet1", table)
我在 ms-sql 服务器 2014 中创建了存储过程并创建了 rdlc 报告。现在以编程方式在 reportviewer 中绑定报表,但在报表中仅显示列而不显示数据...
下面的代码是我的存储过程:
USE [Bonny]
GO
/****** Object: StoredProcedure [dbo].[AccMast_AllDetail] Script Date: 17/10/2016 12:10:42 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Proc [dbo].[AccMast_AllDetail]
as
Select Account_Code,Party_Name,Address_1,Address_2,City from FAMPAR order by Account_Code
GO
我的 VB.NET reportviewer 表单加载事件中的代码...
ReportViewer.Reset()
Dim data As New AccMastDataSet
Dim ReportDataSource1 As ReportDataSource = New ReportDataSource
ReportDataSource1.Name = "AccMastDataSet"
ReportDataSource1.Value = rds
ReportViewer.LocalReport.DataSources.Clear()
ReportViewer.LocalReport.DataSources.Add(ReportDataSource1)
ReportViewer.LocalReport.ReportEmbeddedResource = "Report1.rdlc"
ReportViewer.LocalReport.ReportPath = "D:\netbonny\netbonnyproject\netbonnyproject\Reports\Report1.rdlc"
ReportViewer.RefreshReport()
在此我得到列 headers 但不是数据,数据在那里并在 sql management studio 中检查...
我试过的另一个 VB.NET 代码是:
Dim data As New AccMastDataSet
Dim abc = data.Tables("AccMast_AllDetail")
Dim rds = New Microsoft.Reporting.WinForms.ReportDataSource("AccMastDataSet", data)
ReportViewer.LocalReport.DataSources.Clear()
ReportViewer.LocalReport.DataSources.Add(rds)
ReportViewer.LocalReport.ReportEmbeddedResource = "netbonnyproject.Report1.rdlc"
ReportViewer.RefreshReport()
这里出现错误:
我不知道它说的是什么...
帮帮我。
当前您已将 DataSet
的新实例的 DataTable
传递给报表数据源。所以很明显它应该是空的,你会看到报告列 headers 没有任何数据。
您应该将数据加载到 DataTable
中,然后将其传递给报告。
例如,如果您在表单上放置了一个 TableAdapter
,您可以使用这样的代码:
Me.Table1TableAdapter.Fill(Me.DataSet1.Table1)
Dim rds = New Microsoft.Reporting.WinForms.ReportDataSource("DataSet1", Me.DataSet1.Table1)
还有
Dim cn = "Connection String"
Dim cmd = "Stored Procedre Name"
Dim table = New DataTable()
Using adapter As New SqlDataAdapter(cmd, cn)
adapter.SelectCommand.CommandType = CommandType.StoredProcedure
adapter.Fill(table)
End Using
Dim rds = New Microsoft.Reporting.WinForms.ReportDataSource("DataSet1", table)