报告查看器控制 - 发送参数的数据集存储过程 [英] Report Viewer Control - Send parameter to stored procedure in DataSet

查看:167
本文介绍了报告查看器控制 - 发送参数的数据集存储过程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有我的ASP.NET Web表单应用程序中创建一个本地.rdlc报告。

I have created a local .rdlc report within my ASP.NET web form application.

我要加载使用ReportViewer控件的报告。我在数据库中使用存储过程获取数据,我的报表数据集。存储过程需要一个参数,以从表中返回单个数据行。我希望能够到这个参数编程方式传递给存储过程,该报告将加载数据。

I want to load a report using the ReportViewer Control. I am getting the data for my Report DataSet using a stored procedure in the database. The stored procedure needs a parameter to return a single data row from the table. I want to be able to pass this parameter to the stored procedure programmatically so that the report will load the data.

我如何做到这一点?

推荐答案

您的ASPX的ReportViewer

Your reportViewer on ASPX

<rsweb:ReportViewer ID="ReportViewer1" runat="server" SizeToReportContent="True">
</rsweb:ReportViewer>

方法来获取数据集

Method to get data set

private DataTable GetSPResult()
{
    DataTable ResultsTable = new DataTable();

    SqlConnection conn = new SqlConnection(ConfigurationManager
      .ConnectionStrings["connectionString"].ConnectionString);

    try
    {
        SqlCommand cmd = new SqlCommand("yourStorePorcedure", conn);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@id", 1);
        SqlDataAdapter adapter = new SqlDataAdapter(cmd);
        adapter.Fill(ResultsTable);
    }

    catch (Exception ex)
    {
        Response.Write(ex.ToString());
    }
    finally
    {
        if (conn != null)
        {
            conn.Close();
        }
    }

    return ResultsTable;
}

绑定结果的ReportViewer

Bind result to reportviewer

DataTable dt = GetSPResult();
ReportViewer1.Visible = true;
ReportViewer1.LocalReport.ReportPath = "Report1.rdlc";
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", dt));

这篇关于报告查看器控制 - 发送参数的数据集存储过程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆