如何在C#中以编程方式将参数传递给子报表 [英] how to Pass Parameter to Subreports Programatically in C#
本文介绍了如何在C#中以编程方式将参数传递给子报表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
hi
我正在尝试将参数传递给子报告。我可以使用以下代码传递参数表格主报告。但不能使用子报告中的以下代码传递参数。请指导我。
提前感谢。
hi
i am trying to pass parameter to sub report. i can pass parameter form main report by using following code. but can not pass parameter using following code in sub report. please guide me.
thanks in advance.
blancesheetfinal cryRpt = new blancesheetfinal();
crinfo.IntegratedSecurity = true;
TableLogOnInfos crLoginfos = new TableLogOnInfos();
TableLogOnInfo crLoginfo = new TableLogOnInfo();
Tables Crtables;
Crtables = cryRpt.Database.Tables;
foreach (Table crtable in Crtables)
{
crLoginfo = crtable.LogOnInfo;
crLoginfo.ConnectionInfo = crinfo;
crtable.ApplyLogOnInfo(crLoginfo);
}
/////// for first parameter feild
ParameterFieldDefinitions crParameterFieldDefinitions;
ParameterFieldDefinition crParameterFieldDefinition;
ParameterValues crParameterValues = new ParameterValues();
ParameterDiscreteValue crParameterDiscreteValue = new ParameterDiscreteValue();
crParameterDiscreteValue.Value = textBox1.Text;
crParameterFieldDefinitions = cryRpt.DataDefinition.ParameterFields;
crParameterFieldDefinition = crParameterFieldDefinitions["cid"];
crParameterValues = crParameterFieldDefinition.CurrentValues;
crParameterValues.Clear();
crParameterValues.Add(crParameterDiscreteValue);
crParameterFieldDefinition.ApplyCurrentValues(crParameterValues);
///////// parameter for sub report
ParameterFieldDefinitions ccrParameterFieldDefinitions;
ParameterFieldDefinition ccrParameterFieldDefinition;
ParameterValues ccrParameterValues = new ParameterValues();
ParameterDiscreteValue ccrParameterDiscreteValue = new ParameterDiscreteValue();
//ccrParameterDiscreteValue.Value = textBox1.Text;
ccrParameterDiscreteValue.Value = dateTimePicker1.Text;
ccrParameterFieldDefinitions = cryRpt.DataDefinition.ParameterFields;
ccrParameterFieldDefinition = ccrParameterFieldDefinitions["date"];
ccrParameterValues = ccrParameterFieldDefinition.CurrentValues;
ccrParameterValues.Clear();
ccrParameterValues.Add(ccrParameterDiscreteValue);
ccrParameterFieldDefinition.ApplyCurrentValues(ccrParameterValues);
crystalReportViewer1.ReportSource = cryRpt;
crystalReportViewer1.Refresh();
crystalReportViewer1.ReportSource = cryRpt;
crystalReportViewer1.Refresh();
推荐答案
请尝试如下。
注意:这是一个示例代码。请根据您的情况进行调整。
Please try is as below.
Note:This is a sample code.Please adjust it according to your situation.
ReportDocument cryRpt = new ReportDocument();
cryRpt.Load("rptMainReport.rpt");
cryRpt.SetParameterValue("myRoleId", 2, "subreport name");
这篇关于如何在C#中以编程方式将参数传递给子报表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文