2012-10-31 33 views
4

我正在使用LINQ填充水晶報告。C#如何使用LINQ填充水晶報告

這裏是我的代碼:

var results = (from supp in dbdata.Suppliers select supp).ToList(); 
cr1.Load(@"CrystalReport1.rpt"); 
cr1.SetDataSource(results); 
crystalReportViewer1.ReportSource = cr1; 

當我運行產生錯誤的應用程序:

DataSet does not support System.Nullable<>.

我該如何解決這個問題?

回答

2

試試這個:

CrystalReport1 cr = new CrystalReport1(); 

    var results = (from supp in dbdata.tSamples 
        where supp.ID == IDNUMBER 
        select new { supp.Name, supp.Model, supp.Producer }).ToList(); 

    cr.SetDataSource(results); 
    crystalReportsViewer1.ReportSource = cr; 
+0

由於它的工作原理 – Muditha

+0

能否請你告訴我們,究竟是什麼原因此代碼的工作?是由於SELECT子句中的字段列表? – shahsani

+0

好的。原因是我們在LINQ結果中不能有Nullable字段。刪除它們(或將它們更改爲正常變量),那麼它工作得很好。 – shahsani