打印报表时出现的错误,求解决
发生了一个意外错误。更多信息: 'In order to use an object with the ObjectDataSource it must support the IEnumerable interface.'报表预览的时候是否正常?以及您使用的是什么环境?
PageReport def = new PageReport(new FileInfo(_fullReportFileName));
def.Document.LocateDataSource += new GrapeCity.ActiveReports.LocateDataSourceEventHandler(BindDataSouce);
WebReportViewer.Report = def;
public void BindDataSouce(object sender, LocateDataSourceEventArgs args)
{
if (args.DataSourceName == "DataSource1" && args.DataSetName == "DataSet1")
{
args.Data = GetTempDataSouce();
}
}
private object GetTempDataSouce()
{
DataTable dt = new DataTable();
DataColumn dc1 = new DataColumn("V_Data_SalesDetails_FPRODUCTNO", typeof(string));
DataColumn dc2 = new DataColumn("V_Data_SalesDetails_FPRODUCTNAME", typeof(string));
DataColumn dc3 = new DataColumn("V_Data_SalesDetails_FPRODUCTSPEC", typeof(string));
DataColumn dc4 = new DataColumn("V_Data_SalesDetails_FPRICE", typeof(double));
DataColumn dc5 = new DataColumn("V_Data_SalesDetails_FNUMBER", typeof(double));
DataColumn dc6 = new DataColumn("V_Data_SalesDetails_FMONEY", typeof(double));
dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
dt.Columns.Add(dc3);
dt.Columns.Add(dc4);
dt.Columns.Add(dc5);
dt.Columns.Add(dc6);
DataRow dr1 = dt.NewRow();
dr1 = "产品编号";
dr1 = "产品名称";
dr1 = "产品规格";
dr1 = "10";
dr1 = "11";
dr1 = "110";
dt.Rows.Add(dr1);
return dt;
}
模版里面设置的数据源 类型为 object provider
一直提示 该报表存在错误,不能被正常处理。
您设置的Object Provider 需要返回的是Object 类型的数据,而您现在返回的是DataTable(DataSet)所以会报错
Object 数据绑定参考博客: http://blog.gcpowertools.com.cn/post/ActiveReports-ListDataSource.aspx 换成dataset provider也是一样 报表里面引用的字段名是与代码中的字段名一致吗?
问题已经处理 谢谢反馈~
页:
[1]