将现有水晶报告与新数据集一起使用

时间:2013-05-01 19:14:29

标签: c# crystal-reports dataset

我正在尝试绑定已经创建的水晶报表,这意味着我有.rpt文件。现在我使用Add- reports - 现有项目将其添加到我的应用程序中。此报告基于oracle表视图创建。在我的程序中,我创建了一个动态数据集,其中包含此报告所需的所有字段。现在我需要找到一种方法来使用现有的.rpt文件,并从数据集中解析我的数据,以pdf格式创建报告。
 我知道如何将报告导出到pdf。但我不知道如何使用这个.rpt文件并通过它解析我的数据集数据。

这是我到目前为止的代码

using System;
using  System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Oracle.DataAccess.Client;
using System.Data;
using CrystalDecisions.CrystalReports.Engine;


namespace WebApplication1
{
public partial class WebForm1 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        string connetionString = null;
        OracleConnection connection;
        OracleDataAdapter OracleAdapter;
        DataSet ds = new DataSet();
        string firstSql = null;
       // string secondSql = null;

        connetionString = "blah blah
        firstSql = "select * from STATEMENT_DomESTIC";
       // secondSql = "Select * from DOM_DETAILS";
        connection = new OracleConnection(connetionString);
        try
        {
            connection.Open();
            OracleAdapter = new OracleDataAdapter(firstSql, connection);
            OracleAdapter.Fill(ds, "domestic_header");
            OracleAdapter.SelectCommand.CommandText = secondSql;
            OracleAdapter.Fill(ds, "domestic_detail");
            OracleAdapter.Dispose();
            connection.Close();

           // GridView1.DataSource = ds;
           // GridView1.DataBind();


        }

        catch (Exception ex)
        {


        }
    }
}
}

我对此进行了研究但是,无法找到一个可以做到这一点的好例子。

1 个答案:

答案 0 :(得分:0)

您需要使用Crystal提供的ReportDocument对象。例如......

ReportDocument reportDoc = new ReportDocument();
reportDoc.Load("YourReportName");  //or path to your report
reportDoc.SetDataSource(ds);

这是否符合您的要求?