是否可以在水晶报告中同时绑定两个数据集?

时间:2010-05-24 14:20:51

标签: c# asp.net crystal-reports dataset

是否可以在asp.net crystal report中同时绑定两个数据集?

我尝试了下面的代码,但它要求提供服务器详细信息:

                Invoice inv = new Invoice();
                inv.OrgId = Session["org_id"].ToString();
                inv.InvoiceId = invoiceId.ToString();
                ds = _reportController.ReportPrintBillView(inv);
                dtBill=ds.Tables[0];
                dtInvoice = ds.Tables[1];

                ReportDocument myRpt = new ReportDocument();
                myRpt.Load(Server.MapPath("PrintandprintBill.rpt"));
                myRpt.SetDatabaseLogon("root", "root", "localhost", "hemaepdb");
                myRpt.SetDataSource(dtBill);
                myRpt.SetDataSource(dtInvoice);
                CrystalReportViewerPrint.ReportSource = myRpt;
                CrystalReportViewerPrint.Visible = true;

2 个答案:

答案 0 :(得分:1)

不,报告接受一个数据源。但是,您的子报表可能具有不同的数据源。

编辑:

如果您需要来自具有相似数据的两个不同数据集的数据,您可能会尝试将数据合并到一个数据集中。即使某些数据重复,您也可以创建组并使用抑制功能仅以您需要的方式显示和格式化数据。请参阅我的回答here,以便更好地解释我所指的分组和抑制。

答案 1 :(得分:0)

从你的要求我认为你想使用View。 View是一种逻辑表,用于映射来自不同表的其他列。在Datable中只需使用View Name并将此数据表添加到数据集。只需将SetDataSource设置为数据集。