我想通过SetParameterValue
用自己的数据填充我的水晶报表数据。
我使用了ReportDocument
,但是当我尝试加载报告时却遇到了异常Report load failed
。
我尝试了这种方法来加载报告
在我的ReportView中,添加一个crystalreportview
。
然后在加载数据后执行此操作。
Object _obj;
public ReportView(Object _report)
{
InitializeComponent();
crystal_view.Owner = this;
_obj = _report;
}
private void crystal_view_Loaded(object sender, RoutedEventArgs e)
{
ReportDocument doc = new ReportDocument();
doc.Load(@"Reports\CrystalReport.rpt");
doc.SetDataSource(_obj);
crystal_view.ViewerCore.ReportSource = doc;
}
Reports
是我的报告所在的文件夹
_obj
是数据列表
在另一个类中,我有此方法来填充参数
public void fillData()
{
//I get the list of data here
foreach(MyModel mod in listData)
{
CrystalReport receipt = new CrystalReport();
receipt.SetParameterValue("name", mod.name);
receipt.SetParameterValue("age", mod.age);
receipt.SetParameterValue("sexe", mod.sexe);
}
new ReportView(listData).ShowDialog();
}