问题描述
我想用对象的属性填充报表页面并将其显示在报表查看器中。 我之前在报表向导中选择了这个对象并生成了一个数据集。
现在我正在尝试使用此代码将值添加到报告中。 我将该单个对象放入列表中,因为“ReportDataSource”不接受对象。 但是当我运行它时,报告是空白的,并且没有显示值。 我究竟做错了什么?我刚接触报告,希望有人能帮助我。
private void button2_Click(object sender,EventArgs e)
{
MyObject myobject = new MyObject();
myobject.Artikelnr = "12345";
myobject.Aussehen = 1;
myobject.Bemerkungen = "cool";
List<MyObject> objectlist = new List<MyObject>();
objectlist.Add(myobject);
ReportDataSource rds = new ReportDataSource("DataSet1",objectlist);
reportViewer1.LocalReport.DataSources.Add(rds);
reportViewer1.Refresh();
}
解决方法
这个link很有帮助,你可以下载这个项目并测试一下。在添加数据源之前,最好先将其清除。
private void button2_Click(object sender,EventArgs e)
{
MyObject myobject = new MyObject();
myobject.Artikelnr = "12345";
myobject.Aussehen = 1;
myobject.Bemerkungen = "cool";
List<MyObject> objectlist = new List<MyObject>();
objectlist.Add(myobject);
ReportDataSource rds = new ReportDataSource("DataSet1",objectlist);
ReportViewer1.LocalReport.DataSources.Clear();
reportViewer1.LocalReport.DataSources.Add(rds);
reportViewer1.Refresh();
}
,
确保您使用工具栏上的绿色刷新箭头刷新报告和/或删除所有 .data 文件。 Visual Studio 缓存数据结果并且仅在参数更改时刷新,数据集才会刷新。您可能会遇到缓存问题。