.Net水晶报表的使用总结

 

1、按照正常的方法,新建一个报表文件,和数据库中的一张表关联好,设计好报表式样
   和数据库关联时可以先建立一个access文件,做一个假的数据库

2、动态绑定数据源和动态绑架数据以及参数的方式
    protected void Page_Load(object sender, EventArgs e)
    {
        //声明报表的数据对象
        CrystalDecisions.CrystalReports.Engine.Database crDatabase;
        CrystalDecisions.CrystalReports.Engine.Table crTable;
        TableLogOnInfo dbConn = new TableLogOnInfo();
        // 创建报表对象opt
        ReportDocument oRpt = new ReportDocument();

        // 加载已经做好的报表
        oRpt.Load("E://Jsmstc//Jsmstc_MIS Project Managemet//03_Source//Web//ReportTest.rpt");

        //连接数据库,获得相关的登陆信息
        crDatabase = oRpt.Database;

        //定义一个arrtables对象数组
        object[] arrTables = new object[1];
        crDatabase.Tables.CopyTo(arrTables, 0);
        crTable = (CrystalDecisions.CrystalReports.Engine.Table)arrTables[0];
        dbConn = crTable.LogOnInfo;
       
        //设置相关的登陆数据库的信息
        dbConn.ConnectionInfo.DatabaseName = "jsmstc_mis";
        dbConn.ConnectionInfo.ServerName = "192.168.0.50";
        dbConn.ConnectionInfo.UserID = "jsmstc";
        dbConn.ConnectionInfo.Password = "jsmstc";

        //将登陆的信息应用于crtable表对象
        crTable.ApplyLogOnInfo(dbConn);
       
        //填充数据
        M_AdvisoryBusiness AdvisoryBusiness = new M_AdvisoryBusiness(Request.GetHashCode());
        DataTable AdvisoryData = AdvisoryBusiness.GetDataTableForReport();

        oRpt.SetDataSource(AdvisoryData);

        //将报表和报表浏览控件绑定
        CrystalReportViewer1.ReportSource = oRpt;
       
       
        //传递参数
        //setReportParameters();
     
        oRpt.Load("E://Jsmstc//Jsmstc_MIS Project Managemet//03_Source//Web//ReportTest.rpt");
    }

    private void setReportParameters()
    {
        // all the parameter fields will be added to this collection
        ParameterFields paramFields = new ParameterFields();
        // the parameter fields to be sent to the report
        ParameterField pfItemAddr = new ParameterField();
        // 设置在报表中,将要接受的参数字段的名称
        pfItemAddr.ParameterFieldName = "Query1";
        ParameterDiscreteValue dcItemAddr = new ParameterDiscreteValue();

        dcItemAddr.Value = "dd";

        pfItemAddr.CurrentValues.Add(dcItemAddr);
        paramFields.Add(pfItemAddr);


        // 将参数集合绑定到报表浏览控件
        CrystalReportViewer1.ParameterFieldInfo = paramFields;
    }
注意使用动态方式后,在报表设计中不能再使用SQL表达式字段了

3、小技巧
   每一种格式的设置都可以通过Crystal 语法控制是否应用此格式  当为true时应用,为false时不使用

4、边框的设置
   在水晶报表里设好边框后,在winform中是可以看到边框的,但是使用webform显示在页面上是没有边框的(只有当导出时才能看到边框)
   在web页面上显示边框还不知道怎么实现??

5、设置分页
   可以设定每页显示多少条记录,比如每页6条  
   
  在详细资料上点格式化节,在后面页新建页打勾    
  公式中输入:    
  if   onlastrecord   then    
        formula   =   false    
  else    
        if   RecordNumber   mod   6   =0   then    
              formula   =true    
        else    
              formula   =false    
        end   if    
  end   if     
    
     '(BASIC   语法)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值