1

我有Crystal Report和Entity Framework的问题。我开发的WinForm应用程序只有一个函数可以从表中获取所有记录,然后将其全部填充到Crystal Report中。如何将IEnumerable <T>绑定到C#中的Crystal Report文档?

我对CR 2010非常新,我搜索了一段时间,但仍然没有找到解决方案。

让说我有以下各列的表格(客户):

ID, Name, Buy, Price 

和CR文件:

ID: @ID 
Name: @Name 

Buy   Price 
@Buy   @Price 

       TotalPrice 

我们可不可以客户列表直接绑定到一个CR文件而不将其转换为XML或数据集对象?

任何帮助将不胜感激!

回答

0
CrystalReportViewer1.HasToggleGroupTreeButton = false; 
     CrystalReportViewer1.HasToggleParameterPanelButton = false; 
     CrystalReportViewer1.HasPrintButton = true; 
     CrystalReportViewer1.HasDrilldownTabs = false; 
     CrystalReportViewer1.ToolPanelView = CrystalDecisions.Web.ToolPanelViewType.None; 
     CrystalReportViewer1.PrintMode = CrystalDecisions.Web.PrintMode.ActiveX; 

     if(Request.QueryString["type"] == "1") 
     { 
      CarPark_DataSet ds = new CarPark_DataSet(); 

      CarPark_DataSetTableAdapters.CarParkTableAdapter customersTableAdapter1; 
      customersTableAdapter1 = new CarPark_DataSetTableAdapters.CarParkTableAdapter(); 

      //Convert.ToDateTime(txtStartDate.Text) 
      //customersTableAdapter1.FillBy(ds.CarPark, Convert.ToDateTime(Request.QueryString["start"]), Convert.ToDateTime(Request.QueryString["end"])); 
      customersTableAdapter1.FillBy(ds.CarPark, Convert.ToDateTime(Request.QueryString["start"]) , Convert.ToDateTime(Request.QueryString["end"])); 

      objRpt = new ReportDocument(); 
      string reportPath = Server.MapPath("Detailed_CrystalReport.rpt"); 
      objRpt.Load(reportPath); 

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

      ((CrystalDecisions.CrystalReports.Engine.TextObject)objRpt.ReportDefinition.ReportObjects["StartDate"]).Text = Request.QueryString["start"]; 
      ((CrystalDecisions.CrystalReports.Engine.TextObject)objRpt.ReportDefinition.ReportObjects["EndDate"]).Text = Request.QueryString["end"]; 

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

      //objRpt.Close(); 
     }