海滨小城

.net研究

导航

Asp.net 水晶报表初级入门.

  Asp.net 水晶报表初级入门. 收藏
前台设计页面.aspx

<body>
    <form id="form1" runat="server">
    <div>
        <CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" AutoDataBind="true" />
    </div>
    </form>
</body>

后台.aspx.cs文件

 //引入报表空间
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Web;
using CrystalDecisions.Shared;
//

using System.Data.SqlClient;

   protected void Page_Load(object sender, EventArgs e)
    {
        // 1.首先在项目的该网页对应的文件夹里面添加新项------选择Crystal 报表(默认名称:CrystalReport.rpt)
        // 2.在次在项目的该网页对应的文件夹里面添加新项------选择添加数据集(默认为:clumn1,可修改)
        // 3.在数据集(默认为:datatable1),右键点属性:添加列(默认为:clumn1,可设置他的名称,默认值,是否设置为主键等。)
        // 4.在Crystal 报表中(默认名称:CrystalReport.rpt),选中右键点 数据库专家----在选择项目数据栏目里面的Ado.net数据集,把我们新建的数据库dataset1,添加
        //   到右边去。 在回到CrystalReport.rpt的页面上,找到资源字段管理器----->在找到下面的数据库字段,将其拖到左边的页眉中间,即第三栏。

        //现在的设计已基本完成,现在在后台写代码实现。只是简单的实例,以后将 讲到如何分页,打印,样式布局等。

        SqlConnection con = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ADOStr"].ToString());
        //获取数据库连接

        con.Open();
        //打开连接,记住后面要管理,我这就不用关了。

        DataSet1 dsjob = new DataSet1();
        //创建水晶报表数据集

        SqlDataAdapter sda = new SqlDataAdapter("select * from t_StudentAdmit", con);

        DataSet ds = new DataSet();

        sda.Fill(ds);
        //填充数据集,若数据集不为空,才向水晶报表数据集中填充数据.
        if (ds != null && ds.Tables[0].Rows.Count > 0)
        {
            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                DataRow drjob = dsjob.Tables[0].NewRow();
                //创建数据行

                drjob["f_FlowID"] = dr["f_FlowID"].ToString();
                //drjob["f_FlowID"] 字段一定是水晶报表数据集中的字段。
               

                drjob["f_StudentID"] = dr["f_StudentID"].ToString();

                dsjob.Tables[0].Rows.Add(drjob);

                //填充数据集行.
            }
        }
        CrystalReportSource crysource = new CrystalReportSource();
        //水晶报表实例化。

        crysource.ReportDocument.Load(Server.MapPath("CReport.rpt"));
        //加载水晶报表.

        crysource.ReportDocument.SetDataSource(dsjob);

        crysource.DataBind();
        //水晶报表绑定数据。

        CrystalReportViewer1.ReportSource = crysource;
      
        CrystalReportViewer1.DataBind();
        //水晶报表控件获取水晶报表绑定的数据源。

        con.Close();

    }


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/chenjianyong94/archive/2009/09/21/4576677.aspx

posted on 2010-09-07 00:02  海滨小城  阅读(5269)  评论(1编辑  收藏  举报