代码改变世界

关于水晶报表分析及制作

2011-03-09 10:24  沐海  阅读(615)  评论(0编辑  收藏  举报

关于水晶报表分析及制作

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!或许你会问。那图片之间的数据的操作时怎么弄的那。

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

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

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

记录生活、工作、学习点滴!
E-Mail:mahaisong@hotmail.com 欢迎大家讨论。
沐海博客园,我有一颗,卓越的心!