报告数据源对象的类型必须为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.

查看:130
本文介绍了报告数据源对象的类型必须为System.Data.DataTable,System.Collections.IEnumerable,System.Windows.Forms.BindingSource或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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆