2015-07-19 182 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/