2015-07-19 152 views
0

我正在使用visual studio 2010编写一个使用水晶报告的程序。当我提供我的LINQ查询结果作为对我的水晶报表数据源,收到了错误:“该报告有没有表”LINQ Crystal Reports

这是我写的代码在vb.net

Imports System 
Imports System.Linq 
Imports System.Collections.Generic 
Imports System.Text 
Imports System.Data 
Imports System.Data.Common 
Imports System.Data.Objects 
Imports System.Data.Objects.DataClasses 

Public Class Form1 

Dim rpt As New CrystalReport1 
Dim context As New InvoiceSystemEntities 

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 

    Dim c = From cust In context.Customers 
      Select cust 

    rpt.SetDataSource(c) 

    CrystalReportViewer1.ReportSource = rpt 

End Sub 
End Class 

我的主要理由我担心的是我想获得对发送给水晶报告的查询的控制,以便在查询内设置参数,而不是使用水晶报告来设置参数。任何人都可以请帮我吗?

+0

完成在创建报表请选择“项目数据下的网络对象”作为报表的数据源 – vcs

+0

我该怎么做才能将我的数据库实体转换为对象我是否使用生成模型类的实体框架请帮助我 –

+0

您不必做任何事情。转到字段资源管理器 - >数据库字段 - >项目数据 - > .NET对象。您应该看到列出的“InvoiceSystemEntities”。只需选择并使用它的报告。其他的代码应该没有任何问题 – vcs

回答

0

您不能在Crystal报表中混合和匹配数据源。您应该使用设计报告时使用的相同数据源。

使用实体作为数据源转到字段资源管理器 - >数据库字段 - >项目数据 - > .NET对象。您应该看到“InvoiceSystemEntities'列出。只要选择和使用您的报告。该代码的其余部分应该没有任何问题的工作

你可以看到它是如何从本教程 http://tektutorialshub.com/create-crystal-reports-in-asp-net-mvc/