如何使用编码设置子报告参数 [英] how to set sub report parameter using coding
本文介绍了如何使用编码设置子报告参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
hii ,,
我为公司制作子报表.子报表中有2个参数.因此,如何将这些参数设置为子报告.我在主报表中使用子报表.如何通过编码实现?
拜托,帮帮我....
谢谢和问候...
Mitesh
hii,,
i making the subreport for the company. there is 2 parameter in sub report. so how can i set these parameter to sub report. i use subreport inside the Main Report. how this will be achieve by coding ?
Please, help me....
Thanks and Regards...
Mitesh
推荐答案
您需要具有用于子报表的事件处理程序
请参考以下代码.
公共局部类Pdf:表格
{
公共Pdf()
{
InitializeComponent();
reportViewer1.LocalReport.SubreportProcessing + =新的Microsoft.Reporting.WinForms.SubreportProcessingEventHandler(this.reportViewer1_suberport2);
this.reportViewer1.Refresh();
}
私有void reportViewer1_suberport2(对象发送者,SubreportProcessingEventArgs e)
{
e.DataSources.Add(新ReportDataSource(数据集名称",GetDetails(Int32.Parse(e.Parameters [1] .Values [0]),e.Parameters [0] .Values [0]))));
}
私有DataTable GetDetails(int value1,string value2
{
string conStr =放入您的连接字符串";
SqlConnection sqlCon =新的SqlConnection(conStr);
DataSet ds = new DataSet();
SqlCommand objCmd =新的SqlCommand();
objCmd.CommandType = CommandType.StoredProcedure;
objCmd.CommandText =您的sp名称";
objCmd.Parameters.Add("@ parameter1",SqlDbType.Int).Value = value1
objCmd.Parameters.Add((" @ parameter2,",SqlDbType.Int).Value = value2
objCmd.Connection = sqlCon;
sqlCon.Open();
SqlDataAdapter objDa =新的SqlDataAdapter(objCmd);
objCmd.ExecuteNonQuery();
objDa.Fill(dsl,"Details");
sqlCon.Close();
返回ds.Tables [0];
}
}
You need to have event handler for sub report
Please refer the below code for the same.
public partial class Pdf : Form
{
public Pdf()
{
InitializeComponent();
reportViewer1.LocalReport.SubreportProcessing += new Microsoft.Reporting.WinForms.SubreportProcessingEventHandler(this.reportViewer1_suberport2);
this.reportViewer1.Refresh();
}
private void reportViewer1_suberport2(object sender, SubreportProcessingEventArgs e)
{
e.DataSources.Add(new ReportDataSource("datasetname",GetDetails(Int32.Parse(e.Parameters[1].Values[0]),e.Parameters[0].Values[0])));
}
private DataTable GetDetails(int value1,string value2
{
string conStr = "put your connection string";
SqlConnection sqlCon = new SqlConnection(conStr);
DataSet ds= new DataSet();
SqlCommand objCmd = new SqlCommand();
objCmd.CommandType = CommandType.StoredProcedure;
objCmd.CommandText = "your sp name";
objCmd.Parameters.Add("@parameter1", SqlDbType.Int).Value = value1
objCmd.Parameters.Add("("@parameter2", ", SqlDbType.Int).Value = value2
objCmd.Connection = sqlCon;
sqlCon.Open();
SqlDataAdapter objDa = new SqlDataAdapter(objCmd);
objCmd.ExecuteNonQuery();
objDa.Fill(dsl, "Details");
sqlCon.Close();
return ds.Tables[0];
}
}
这篇关于如何使用编码设置子报告参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文