C# 我的数据集中有数据,但它';我的reportviewer中没有显示什么?

C# 我的数据集中有数据,但它';我的reportviewer中没有显示什么?,c#,visual-studio-2010,reporting,C#,Visual Studio 2010,Reporting,我有一个在datagridview中显示数据的程序。datagridview中的数据来自数据集中的表。数据在屏幕上看起来不错,所以我决定添加一种打印数据的方法 我创建了一个新表单,添加了reportviewer控件,并设计了报表。我使用我的数据集作为报告的数据源 然后,我在我的原始表单中添加了一个按钮,这样当它被按下时,它将显示带有reportviewer控件的表单 我的问题是,当我点击打印按钮时,它会将我带到reportviewer控件窗体,但它只显示标题,没有数据。就像我的数据集中没有数据一

我有一个在datagridview中显示数据的程序。datagridview中的数据来自数据集中的表。数据在屏幕上看起来不错,所以我决定添加一种打印数据的方法

我创建了一个新表单,添加了reportviewer控件,并设计了报表。我使用我的数据集作为报告的数据源

然后,我在我的原始表单中添加了一个按钮,这样当它被按下时,它将显示带有reportviewer控件的表单

我的问题是,当我点击打印按钮时,它会将我带到reportviewer控件窗体,但它只显示标题,没有数据。就像我的数据集中没有数据一样!但是,当我逐步调试时,它在我的数据集中显示了1000多行

所以,我的问题是,我忘记做什么了?数据就在那里,它显示在一个表单上(使用datagridview),但它不显示在reportviewer控件上(仅显示标题)

实际上没有涉及编码。我刚刚创建了一个新表单,添加了reportviewer控件,设计了报表,并告诉它使用我的数据集作为数据源。通常情况下,这对我很有效。我无法想象它为什么不起作用

谢谢你的帮助和建议

以下是我用来显示报告的代码:

private void btnPrint_Click(object sender, EventArgs e)
    {
        Form showReport = new frmPrintView();
        showReport.Show();
    }
这里是我的两个屏幕的图像。数据显然在我的数据集中,否则第一个屏幕上就没有数据了。不过,第二个屏幕似乎显示我的数据集为空,因为除了标题外,什么也没有显示


我认为您缺少数据绑定方法:

来自考试70-516:TS:使用Microsoft.NET Framework 4访问数据:

ASP.NET controls require you to execute the DataBind method on the control to indicate
that the data is ready to be rendered. If you don’t execute the DataBind method, the control won’t render. When executing the DataBind method on a control, the control is obliged to call the DataBind method on its child controls. This means that you can execute the DataBind method on the Web form, and it will call the DataBind method on all its controls
将其添加到表单报告的表单加载事件中,以获得支持

您需要再次将数据从数据库添加到您的数据集中

 billDataSet b1 = new billDataSet();

SqlDataAdapter s = new SqlDataAdapter("select * from TblOrder",con);

s.Fill(b1,b1.Tables[0].TableName);

ReportDataSource rds = new ReportDataSource("orders",b1.Tables[0]);

this.reportViewer1.LocalReport.DataSources.Clear();

this.reportViewer1.LocalReport.DataSources.Add(rds);

this.reportView er1.LocalReport.Refresh();

this.TblOrderTableAdapter.Fill(this.billDataSet.TblOrder, d1.ToString(),d2.ToString(), companyid);

this.reportViewer1.RefreshReport();

谢谢你,迭戈!我查看了load方法的代码,其中只有一条刷新报告的语句,但没有数据绑定的语句。我很感激!