Visual studio 2005中的Crystal Report的应用(1):水晶报表绑定查询的dataset数据

来源:互联网 发布:淘宝达人推荐 编辑:程序博客网 时间:2024/06/05 07:15

 

     Visual studio 2005中的Crystal Report的应用(1):水晶报表绑定查询的dataset数据

    1 创建一个数据集

    解决方案资源管理器右击添加新项选择数据集,新建DataSet1.xsd数据集

    添加包含到App_Code文件夹下

    取消弹出来的TableAdapter配置向导

    服务器资源管理器中选择对应数据库中的表(DeviceSite表为在SQL Server数据库中的表),将表拖到DataSet1.xsd设计视图中:

    创建数据集成功,数据集为空的表格,表头与数据库中的表一致

     

    2)新建一个Crystal报表

    解决方案资源管理器右击添加新项选择Crystal报表,添加CrystalReport.rpt

    2.1Crystal Reports库中选择使用报表向导,选择专家为标准,点击确定


    2.2在项目数据中点开ADO.NET数据集找到前面创建的DataSet1数据集,将DeviceSite表格选择到右侧,点击下一步


    2.3选择要显示的字段:这里选择了SiteNameCountyDeviceTypeDeviceStatus,点击完成

     

    3)新建一个Web窗体

    添加三个控件Button、CrystalReportSource、CrystalReportViewer

    .cs文件中添加

    using CrystalDecisions.Shared;

    using CrystalDecisions.CrystalReports.Engine;

    using System.Data.SqlClient;

    在Button1_Click()事件中添加如下代码:

        protected void Button1_Click(object sender, EventArgs e)

        {

            string connectionString = "server = localhost; database=DeviceList; uid=sa;pwd =1234";

     

            SqlConnection myConnection = new SqlConnection(connectionString);

     

            myConnection.Open();

            string mySqlString = "select * from [DeviceSite]";

     

            SqlDataAdapter myAdapter = new SqlDataAdapter(mySqlString, myConnection);

            DataSet myDataSet = new DataSet();

            myAdapter.Fill(myDataSet, "DeviceSite");

            myConnection.Close();

     

            //用来验证myDataSet中是否有数据

            Response.Write("查得行数:" + myDataSet.Tables["DeviceSite"].Rows.Count);

     

            CrystalReportSource1.ReportDocument.Load(Server.MapPath("CrystalReport.rpt"));

            CrystalReportSource1.ReportDocument.SetDataSource(myDataSet.Tables["DeviceSite"]);

            CrystalReportSource1.DataBind();

     

            CrystalReportViewer1.ReportSource = CrystalReportSource1;

            CrystalReportViewer1.DataBind();

        }

     

    调试运行结果如下:数据库中的数据用CrystalReportViewer控件显示在页面中(只显示2.3中选择的显示字段)

     

 

原创粉丝点击