报告数据源对象的类型必须为System.Data.DataTable,System.Collections.IEnumerable,System.Windows.Forms.BindingSource或System.Type. [英] he report data source object must be of the type System.Data.DataTable, System.Collections.IEnumerable, System.Windows.Forms.BindingSource, or System.Type.
问题描述
起初我得到了a data source instance has not been supplied for the data source ''dataset1''
错误.皮特·奥·汉隆(Pete O''Hanlon)提出了建议.
但现在
mcs_kioskDataSet kds = new mcs_kioskDataSet(); ReportDataSource rds = new ReportDataSource(); rds.Value = kds; reportViewer1.ProcessingMode = ProcessingMode.Local; reportViewer1.LocalReport.ReportPath = @"D:\Jagadeeswaran\Project\User\User\Report2.rdlc"; reportViewer1.RefreshReport(); host.Child = reportViewer1;
我将Report1.rdlc添加为空,将Report2.rdlc添加为使用向导.如果我设置以上代码,则不会启用该报告.
会引发错误
The report data source object must be of the type System.Data.DataTable, System.Collections.IEnumerable, System.Windows.Forms.BindingSource, or System.Type.
但是当我切换到report1时,在下面的代码中它显示了报告.
reportViewer1.ProcessingMode = ProcessingMode.Local; reportViewer1.LocalReport.ReportPath = @"D:\Jagadeeswaran\Project\User\User\Report1.rdlc"; reportViewer1.RefreshReport(); host.Child = reportViewer1;
我想我已经很接近我的目标了.帮帮我.,
我的数据集名称是-mcs_kioskDataSet.xsd,我的数据集对象名称是-kds.
rds.Value = kds;
试试:
rds.Value = kds.Tables[0];
您需要将表作为源而不是数据集.
At first i got a data source instance has not been supplied for the data source ''dataset1''
error. Pete O''Hanlon gave suggestion.
but now
mcs_kioskDataSet kds = new mcs_kioskDataSet(); ReportDataSource rds = new ReportDataSource(); rds.Value = kds; reportViewer1.ProcessingMode = ProcessingMode.Local; reportViewer1.LocalReport.ReportPath = @"D:\Jagadeeswaran\Project\User\User\Report2.rdlc"; reportViewer1.RefreshReport(); host.Child = reportViewer1;
I add Report1.rdlc as empty and Report2.rdlc as use of wizard. if i set the above code, the report is not enabled.
it throw an error
The report data source object must be of the type System.Data.DataTable, System.Collections.IEnumerable, System.Windows.Forms.BindingSource, or System.Type.
but when i switch to report1, in below code it show report.
reportViewer1.ProcessingMode = ProcessingMode.Local; reportViewer1.LocalReport.ReportPath = @"D:\Jagadeeswaran\Project\User\User\Report1.rdlc"; reportViewer1.RefreshReport(); host.Child = reportViewer1;
i think i am very near to my aim. help me.,
my dataset name is - mcs_kioskDataSet.xsd and my dataset object name is - kds.
Instead of this:
rds.Value = kds;
try:
rds.Value = kds.Tables[0];
You need to give table as a source and not dataset.
这篇关于报告数据源对象的类型必须为System.Data.DataTable,System.Collections.IEnumerable,System.Windows.Forms.BindingSource或System.Type.的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!