水晶报表---简单的示例

看了水晶报表的官方示例,自己也跟着做了一个。现在把步骤写下来。
  
 目的是:从DatumDB数据库中的Aritcle 表中获取数据并现在web页面中。

 网站的大体结构是:
   
      
 

 好了,现在开始一一介绍各个文件的作用。
 
 1.创建一个数据集,命名为:MyCustorm.xsd.

 

 

  2.向数据集中添加数据。
   1.确保 “服务器资源管理器” 已经连接了数据库DatumDB.
     如图:
         

 

 

    2.将Aritcle表拽入数据集MyCustorm.xsd.中
     

 好了,数据集填充完成。我的vs2005没有数据集的设计器,我只能在vs2008下使用了

 3.建立报表:Article.rpt,绑定报表并把数据源设置为填充的数据集
  

  1. 在“Crystal Reports 库”对话框的“创建新的 Crystal Report 文档”面板中,选择“使用报表向导”。
  2. 在“选择专家”面板中,选择“标准”后,单击“确定”。
  3. 在“标准报表创建向导”窗口的“可用数据源”面板中,展开“项目数据”文件夹。
  4. 展开“ADO.NET 数据集”节点。
  5. 展开"MyCustorm" 选择“Article”点击">"
  6. 确定。
  7. 下一步中选择要显示的字段。我选了“AritcleName”,“TypeID”,“Summary”,单击确定。
  8. 接着选择分组字段,我选了“TypeID”。
  9. 完成

 4.设置报表的数据源。新建类:ArticleDataSet.cs

   代码如下:
   


 

using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using System.Data.SqlClient;

/// <summary>
/// ArticleDataSet 的摘要说明
/// </summary>
public class ArticleDataSet
{

   private const string DBCONFIG = @" Data Source=MU\ENTERPRISE;Initial Catalog=DatumDB;Integrated Security=True;User ID=sa " ;
   private const string SQL = " select * from Article " ;
   private const string TABLE_NAME = " Article " ;

  public ArticleDataSet()
  {
     //
     // TODO: 在此处添加构造函数逻辑
     //
}
  public static DataSet GetArticleDataSet
  {
     get {
            DataSet dataset
= new DataSet();
            SqlConnection sqlCon
= new SqlConnection(DBCONFIG);
            SqlCommand sqlCmd
= new SqlCommand(SQL, sqlCon);
            sqlCon.Open();

            SqlDataAdapter sqlAdapter
= new SqlDataAdapter(sqlCmd);
            sqlAdapter.Fill(dataset,TABLE_NAME);  //TABLE_NAME注意!!!
            sqlCon.Close();
            return dataset;

          }
    }
}

  
在上面代码中有个sqlAdapter.Fill(dataset,TABLE_NAME);  其中TABLE_NAME 必须填写,并且必须与Article.rpt中绑定的表名一样,否则会出现以下情况:

 

您请求的报表需要更多信息。

 好了,现在做最后一步。添加新文件:Default.aspx.
 从工具箱中将CrystalReportViewer 拖入设计器中,转到后台代码。
 
 代码为:
  

using CrystalDecisions.CrystalReports.Engine;

public partial class _Default : System.Web.UI.Page
{
    private ReportDocument articleReport;
    protected void Page_Load( object sender, EventArgs e)
    {
       ConfigureReportView();
    }
    private void ConfigureReportView()
    {
       articleReport
= new ReportDocument();
       articleReport.Load(Server.MapPath (
" Article.rpt " ));
       articleReport.SetDataSource(ArticleDataSet.GetArticleDataSet);
       CrystalReportViewer1.ReportSource
= articleReport;
     }
}



最后的结果如图:

好吧,我承认它一点也不好看,但是。。。。将就着看吧。。。

 


 

转载于:https://www.cnblogs.com/wlhc_Jing/archive/2008/08/15/1268461.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值