zoukankan      html  css  js  c++  java
  • 关于水晶报表分析及制作

    关于水晶报表分析及制作

    1. 水晶报表的 推、拉模式 推拉结合才能解决问题

    2. 水晶报表的基本操作和数据连接

    string reportPath = Server.MapPath("StockObjects.rpt");

    stockObjectsReport = new ReportDocument();

    stockObjectsReport.Load(reportPath);

    stockObjectsReport.SetDataSource(stockValues);

    crystalReportViewer.ReportSource = stockObjectsReport;

    3. 水晶报表的数据的 接口的 详细分析

    private ArrayList stockValues;//操作具体的 LIST 实现 (数据封存在SESSION)

    private ReportDocument stockObjectsReport;

    首先在报表的字段资源管理器中写出对应的

    公式字段:写出对应的公式

    {Stock.Volume}*{Stock.Price}

    运行总计字段:

    其数据报表的接口被微软封装 。我们要根据图像的右键-“数据专家”来

    判断 图表 的

    1.“类型”,图片图像

    2.“数据”,对应的字段

    3.“文本”。

    可以在页脚的 字段 右键-“更改汇总操作” 用来汇总数据

    找了半年。原来它用的是 OBJectCollection 用的 。CD(类关系图)(以一个数据BEAN类作为数据封装的数据结构)的文件 。和XSD类似的 数据框架图文件 作为数据源

    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;

    public class Stock
    {
        private string _symbol;
        private double _price;
        private int _volume;

        public Stock()
        {

        }

        public string Symbol
        {
            get
            {
                return _symbol;
            }
            set
            {
                _symbol = value;
            }
        }
        public double Price
        {
            get
            {
                return _price;
            }
            set
            {
                _price = value;
            }
        }
        public int Volume
        {
            get
            {
                return _volume;
            }
            set
            {
                _volume = value;
            }
        }
        public Stock(String symbol, int volume, double price)
        {
            _symbol = symbol;
            _volume = volume;
            _price = price;
        }

    }

    1

    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using CrystalDecisions.CrystalReports.Engine;
    using CrystalDecisions.Shared;
    using System.Collections;

    public partial class _Default : System.Web.UI.Page
    {
        private ArrayList stockValues;
        private ReportDocument stockObjectsReport;

        protected void Page_Load(object sender, EventArgs e)
        {
        }

        private void ConfigureCrystalReports()
        {
            PopulateStockValuesArrayList();

            string reportPath = Server.MapPath("StockObjects.rpt");

            stockObjectsReport = new ReportDocument();
            stockObjectsReport.Load(reportPath);
            stockObjectsReport.SetDataSource(stockValues);
            crystalReportViewer.ReportSource = stockObjectsReport;
        }

        private void Page_Init(Object sender, EventArgs e)
        {
            ConfigureCrystalReports();
        }

        public void PopulateStockValuesArrayList()
        {
            if (Session["stockValues"] == null)
            {
                stockValues = new ArrayList();
                Stock s1 = new Stock("AWRK", 1200, 28.47);
                Stock s2 = new Stock("CTSO", 800, 128.69);
                Stock s3 = new Stock("LTWR", 1800, 12.95);
                stockValues.Add(s1);
                stockValues.Add(s2);
                stockValues.Add(s3);
                Session["stockValues"] = stockValues;
            }
            else
            {
                stockValues = (ArrayList)Session["stockValues"];
            }
        }
        protected void addStockInformation_Click(object sender, EventArgs e)
        {
            Stock temp = new Stock();
            try
            {
                temp.Symbol = symbol.Text;
                temp.Price = Convert.ToDouble(price.Text);
                temp.Volume = Convert.ToInt32(volume.Text);
            }
            catch
            {
            }
            stockValues.Add(temp);
            Session["stockValues"] = stockValues;
            ConfigureCrystalReports();
        }
    }

    用 一个CS 类 做为数据BEAN 。然后制作一个 CD(类关系)文件,用来描述一种以这个类作为 模型 的数据结构 。

    然后建立一个水晶报表 RPT。 水晶报表的数据源 连接文件就是这个CD文件。固定数据源格式。

    最初的数据源的数据 是我们写在这个 Default。aspx.cs中。 然后在页面中我们 得到页面的 我们输入的数据 。

    这些数据作为AarryList 数据BINGding 给 crystalreport (水晶报表)。

    水晶报表的设计分为三步

    1.水晶报表 数据源配置 及 绑定(上面已经说了)

    2.水晶报表格式 及字段的设置 拖拉即可完成

    3.所需的 一个“ 图表” 的数据设置

    图表数据的设置:

    其数据报表的接口被微软封装 。我们要根据图像的右键-“数据专家”来

    判断 图表 的

    1.“类型”,图片图像

    2.“数据”,对应的字段 (关键)

    2

    3.“文本”。

    可以在页脚的 字段 右键-“更改汇总操作” 用来汇总数据

    OK!或许你会问。那图片之间的数据的操作时怎么弄的那。

    我只能说。这就是工具。要是我们需要开发这样的工具当然要研究透彻。

    至于像我这样的刚入学的新手,要先了解它怎么用。才能理解它是怎么制作的。哈哈。

    用了一天时间。这就是个总结了

  • 相关阅读:
    “XXXXX” is damaged and can’t be opened. You should move it to the Trash 解决方案
    深入浅出 eBPF 安全项目 Tracee
    Unity3d开发的知名大型游戏案例
    Unity 3D 拥有强大的编辑界面
    Unity 3D物理引擎详解
    Unity 3D图形用户界面及常用控件
    Unity 3D的视图与相应的基础操作方法
    Unity Technologies 公司开发的三维游戏制作引擎——Unity 3D
    重学计算机
    windows cmd用户操作,添加,设备管理员组,允许修改密码
  • 原文地址:https://www.cnblogs.com/mahaisong/p/1977973.html
Copyright © 2011-2022 走看看