【问题标题】:ASP Crystal Report The report has no tablesASP Crystal Report 该报表没有表格
【发布时间】:2016-01-22 01:36:19
【问题描述】:

我正在尝试制作一个程序,将数据表的数据放入水晶报表中。代码如下:

ReportDocument report_doc = new ReportDocument();
report_doc.Load(Server.MapPath("Trtp.rpt"));

string[] columns = new string[] { "col1", "col2", "col3", "col110", "col111" };

DataTable dt = new DataTable();
int count = columns.Count();
for (int i = 0; i < count; i++)
   dt.Columns.Add(columns[i], typeof(string));

myConnection.comm.CommandText = @"select col1,col2,col3.col110,col111 from TabledataT where " + query;
myConnection.reader = myConnection.comm.ExecuteReader();
dt.Load(myConnection.reader);

DataSet ds = new DataSet();
ds.Tables.Add(dt);
report_doc.SetDataSource(ds.Tables[0]);

CrystalReportViewer1.ReportSource = report_doc;
CrystalReportViewer1.RefreshReport();

在aspx页面中:

<CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" AutoDataBind="true" />

Trtp.rpt 我选择了空白

错误在这一行

report_doc.SetDataSource(ds.Tables[0]);

错误:

The report has no tables

这是我第一次尝试创建使用水晶报表的程序,所以对它没有太多了解。

为什么会出现这个错误?

谢谢

【问题讨论】:

  • 您是否在填充数据表之前尝试将数据表添加到数据集中?意思是先将数据表添加到数据集中而不是添加到数据集中
  • 我试过了,还是一样的错误!!
  • 问题可能是多种原因。如果报告设计不正确,您将收到此错误,如果数据源有任何问题,您将收到此错误。尝试合并数据集中的数据表而不是添加它,例如 ds.Tables[0].Merge(dt);并尝试检查 ds.tables.count 是否有
  • @Angloos,我是否需要在Trtp.rpt 文件中配置任何内容,因为我只是添加了它而没有在报告上做任何事情。那么,这可能是问题所在吗?我需要在Trtp.rpt 中创建任何表吗?
  • 嗯取决于你想用它做什么。如果它只是显示数据表数据,这应该是直接的方式。

标签: c# asp.net crystal-reports


【解决方案1】:

我得到了工作程序。我需要创建一个包含数据表的数据集页面,其中包含列。现在将数据集绑定到 Crystal 报表以使其工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多