通过代码添加水晶报告

时间:2013-10-28 23:10:54

标签: c# asp.net crystal-reports

我通过代码而不是通过向导成功设计并填充了我的Crystal报告。

  1. 我通过addNEWITEM
  2. 添加了Crystal报告
  3. 我通过addNEWITEM
  4. 在aap_code中添加了数据集
  5. 我通过addNEWITEM
  6. 将数据表添加到数据集中
  7. 通过代码我制作报告并填充数据集和数据表
  8. 运行并显示。成功完成。
  9. 但我的问题是如何通过代码完全完成,如步骤1,2,3?我不想通过AddNewItem等添加它,是不是有任何方法通过代码添加这些?我做了,我通过代码创建了一些数据集和表格,就像我们为Gridview等所做的那样,但这并没有出现在水晶报告等的DATA连接中。

    String conStr =WebConfigurationManager.ConnectionStrings["LoginDatabaseConnectionString"].ConnectionString;
    
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack) 
        {
            Dataset_load();
        }
    }
    
    protected void Dataset_load() 
    {
        SqlConnection sqlcon = new SqlConnection(conStr);
        SqlCommand sqlCom = new SqlCommand("select * from Login", sqlcon);
        SqlDataAdapter sqlDA = new SqlDataAdapter(sqlCom);
       // DataSet ds = new DataSet("CRDataSet");
    
        try
        {
            sqlcon.Open();
            //sqlCom.ExecuteNonQuery();
            //sqlDA.Fill(ds,"Login");
    
            DataSet1 ds = new DataSet1();
            DataTable dt = new DataTable("DT_CR");
            sqlDA.Fill(dt);
            ds.Tables[0].Merge(dt);
    
            ReportDocument rd = new ReportDocument();
            rd.Load(Server.MapPath("CrystalReport.rpt"));
            rd.SetDataSource(ds);
            CrystalReportViewer1.ReportSource = rd;
    
    
        }
        catch (Exception exc)
        {
            Response.Write(exc.Message);
        }
        finally 
        {
            sqlcon.Close();
        }
    

1 个答案:

答案 0 :(得分:0)

我不确定为什么你会通过尝试从头开始创建所有代码而不是使用VS的功能来使自己变得更难。如果你真的想这样做,我会使用内置功能创建所有内容。然后我会查看所有添加的代码,看看它是做什么的。 有一些tutorials告诉你如何使用这些功能。创建一个,然后阅读代码。

我就是这样做的。

希望有所帮助,

克里斯