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

 

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

    1 创建一个数据集

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

    添加包含到 App_Code 文件夹下

    取消弹出来的 TableAdapter 配置向导

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

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

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

     

    2 )新建一个 Crystal 报表

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

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

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


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

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


    2.3 选择要显示的字段:这里选择了 SiteName County DeviceType DeviceStatus ,点击完成

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

     

    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 中选择的显示字段)

     

 

你可能感兴趣的:(sql,数据库,server,report,button,报表,dataset)