将数据源绑定到Crystal Reports

时间:2014-03-25 04:59:40

标签: c# asp.net crystal-reports

我是Crystal Reports的新手

Crystal Viewer首先显示数据表而不是提供数据源,每次都需要刷新Crystal Viewer。

private void crystalReportViewer1_Load(object sender, EventArgs e)
{
    string str = ConfigurationManager.ConnectionStrings["ConnData"].ConnectionString.ToString();
    SqlConnection con = new SqlConnection(str);
    string cellno = LoginUser.CellNo;
    SqlCommand cmd = new SqlCommand("SP_Get_CustomerByCellNo", con);

    cmd.Parameters.AddWithValue("@Cell", cellno);

    SqlDataAdapter da = new SqlDataAdapter(cmd);

    DataTable dt = new DataTable();
    da.Fill(dt);

    int i = dt.Rows.Count;

    ReportDocument rd = new ReportDocument();
    ConnectionInfo info = new ConnectionInfo();
    info.DatabaseName = "BillingAndAccounts";
    info.UserID = "sa";
    info.Password = "sa123";
    rd.VerifyDatabase();

    rd.Load(@"C:\Users\Abhinavu\Documents\Login\Login\OrderWindow.rpt");

    rd.SetDataSource(dt);
    crystalReportViewer1.ReportSource = rd; 
}

1 个答案:

答案 0 :(得分:1)

如果您想将数据传递到报表,则必须使用类型化数据集并在报表中使用该数据集。

从我在这段代码中看到的情况,我可以想象你是基于数据集上的OLEDB和ADO.NET连接创建的。

ConnectionInfo info = new ConnectionInfo();
info.DatabaseName = "BillingAndAccounts";
info.UserID = "sa";
info.Password = "sa123";
rd.VerifyDatabase();

这里有2个链接,将向您展示如何使用ADO.NET Datasets数据源创建报告

Crystal Report with DataSet and DataTable using C#

Creating Crystal Reports using C# with Datasets