2012-04-29 70 views
0

我是新來的水晶報告,並希望使用linq2sql在水晶報告上顯示sql數據。到目前爲止,我只是試圖顯示一個領域(tripNo),沒有運氣。我的錯誤是數據源對象無效。這是我的代碼。簡單的linq2sql查詢顯示在水晶報告中

private void runstuff() 
    { 
     using (DataClasses1DataContext db = new DataClasses1DataContext()) 
     { 
      var test = (from s in db.trips 
         select s.tripNo).First(); 

      CrystalReport1 cr1 = new CrystalReport1(); 
      cr1.SetDataSource(test); 
      crystalReportViewer1.ReportSource = cr1; 
     } 
    } 
+0

貴'CrystalReport1'真的只有一個在它的字段名'tripNo' App.config文件? – 2012-05-01 18:21:04

+0

是的,現在只是一個領域,儘可能簡單。 – 2012-05-01 22:16:07

回答

0

需要這條線

<startup useLegacyV2RuntimeActivationPolicy="true"> 
1

自從我使用Crystal以來已經有一段時間了。但是,問題似乎是'測試'的類型。 Crystal可能不知道該怎麼做。你可能想試試這個。請注意,我刪除了First()方法,以便返回行列表,然後將其轉換爲實體列表。水晶應該能夠處理這一點。

var test = (from s in db.trips 
      select s.tripNo).ToList(); 

      CrystalReport1 cr1 = new CrystalReport1(); 
      cr1.SetDataSource(test); 

希望這會有所幫助。

+0

這不會編譯,但我試着改變).single()l to).ToList();現在我得到列不屬於表旅行 – 2012-04-29 00:45:11

+1

嘗試我剛剛做出的改變。 – 2012-04-29 00:45:48

+0

仍然得到列''不屬於表旅行。我可以在實際的報表查看器控件上丟失一些東西嗎? – 2012-04-29 00:47:33