繁体   English   中英

通过代码添加水晶报表

[英]adding crystal report via code

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

  1. 我通过addNEWITEM添加了Crystal报表
  2. 我通过addNEWITEM在aap_code中添加了数据集
  3. 我通过addNEWITEM将数据表添加到数据集中
  4. 通过代码,我制作了报告,并用数据填充了数据集和表格
  5. 运行并显示。 成功完成。

但是我的问题是如何通过代码像步骤1,2,3那样完全做到这一点? 我不想通过AddNewItem等添加它,没有任何方法可以通过代码添加它们吗? 我做到了,我像通过Gridview等通过代码创建了一些数据集和表格,但是没有在Crystal Report等的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();
    }

我不确定为什么您会尝试通过从头开始创建所有代码而不是使用VS的功能来使自己更麻烦。 但是,如果您真的想这样做,我将使用内置功能来创建所有内容。 然后,我将查看所有添加的代码,然后看看有什么用。 那里有一些教程 ,告诉您如何使用这些功能。 创建一个,然后通读代码。

我就是那样做的。

希望能有所帮助,

克里斯

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM