如何在c#win form app中设置子水晶报表的数据源

How to set datasource of Sub crystal report in c# win form app(如何在c#win form app中设置子水晶报表的数据源)

本文介绍了如何在c#win form app中设置子水晶报表的数据源的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用此代码在主报表中加载主报表和子报表.主报告是空白的,只包含子报告.

I am using this code to load a main report and a subreport inside the main report. The main report is a blank one and just contains subreport.

这是我的代码:

MySqlConnection cnn;
string connectionString = null;
string sql = null;

connectionString = "Server = BC; Database = mydb1; Uid = root; Pwd = abc123;";
cnn = new MySqlConnection(connectionString);
cnn.Open();

sql = "SELECT * from mytable1 ";
MySqlDataAdapter dscmd = new MySqlDataAdapter(sql, cnn);
DataSet1 ds = new DataSet1();
dscmd.Fill(ds, "Imagetest");
cnn.Close();

ReportDocument cryRpt = new ReportDocument();
cryRpt.Load("C:/Subreport.rpt");
cryRpt.SetDataSource(ds.Tables[1]);

crystalReportViewer1.ReportSource = "C:/MainReport.rpt";
crystalReportViewer1.Refresh();

当我运行应用程序时,我只看到带有空白子报告的主报告.

When I run the application I just see main report with blank subreport.

推荐答案

ReportDocument cryRpt = new ReportDocument();
cryRpt.Load("C:/MainReport.rpt");
cryRpt.DataSourceConnections.Clear();
cryRpt.SetDataSource(ds.Tables[0]);
cryRpt.Subreports[0].DataSourceConnections.Clear();
cryRpt.Subreports[0].SetDataSource(ds.Tables[0]);
crystalReportViewer1.ReportSource = cryRpt;
crystalReportViewer1.Refresh();

这篇关于如何在c#win form app中设置子水晶报表的数据源的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:如何在c#win form app中设置子水晶报表的数据源

基础教程推荐