[实践]FastReport.NET使用示例

废话不说直接正题!

1 下载FastReport.NET。网上搜索一下,下载资源一大把,这是收费的,所以我使用了demo版;

  注意:FastReport.NET 和FastReport Studio不是同一个东西,别下错了;

  FR.NET只支持VS2005/2008;

  官网:http://ns.fast-report.com/en/,有说明文档使用手册下载,论坛也很不错,问题解答的很详细;

2  先在本机上安装好VS2005/2008(我试验的时候使用的是2008),再安装FR.NET,启动VS,新建一个ASP.NET WEB应用程序项目;

3  页面设计:在VS中设计Default.aspx页面时,可直接在工具箱中拖出一个 WebReport控件放置于页面上:

 

   

                                                  图一

4 数据源指定:FR支持多种数据源(详见其说明),可以在aspx页面上选定数据源,或者进入FR设计器中再指定;

  拖放一个SqlDataSouce控件到页面上,设定好,在测试连接的时候最好预览下数据,确保数据源能正常使用;

  选定WebReport控件,如图一,会有一个“>”标记按钮出现,点击,会出现如图二所示对话框:

                                                          

                        图二

  点击“Select Data Source”,弹出一个对话框,选择刚刚配置好的SqlDataSouce;

5 设计:点击图二中的“Design Report...”就会打开FR设计器,如图三所示:

  

                    图三

  在设计器里,大家可以尽情地发挥,设计出你最喜欢(多数时候得老板喜欢)的样式,FR已经提供了很多模板,很漂亮,大家稍微改动

  一下就能得到自己的模板(.frx文件)。我这里只是简单的拖放了几个文本控件,然后将它们绑定到了前面选定好的datasouce上,大家可以自己

  动手点点看,这一点很简单,也许你是第一次用,但凭猜想你也可以做出来。

6 codding/运行:设计好后点保存,然后关掉设计器(必须关掉,因为它是以置顶子窗体弹出来的,不关掉不能操作VS)。

  在aspx页面上选中webreport控件,查看它的事件,为它添加上StartReport事件,写上几行代码就OK了,如图四:

       

  

                                               图四

注意:在Page_load事件中也有一行代码,我这里的webreport控件的名字就叫“WebReport1”;

保存,运行,大家就可以看到效果了~

到此,这个简单示例就完成了;刚开始使用FR千万记得查看用户手册,你的很多疑问在这里可以找到答案;

 

另:很多人在问FastReport如何从页面传递参数的问题,我在这里简单说下吧:

  FR的参数分两种,Query Parameter 和Report Parameter;

  Query Parameter (查询参数):是在FR中用向导设定DataSouce时,可以用带参数的SQl文来指定,形如:

    select * from table where country = @parameterName

    对于这种参数,在用向导创建DataSouce时,会弹出一个窗口来让你对参数进行编辑,如图五:

                  图五

查询参数的名字是  qparam1,大家需要给它指定表达式 ,Expression属性中 “[param1]”就是一个表达式,param1是一个报表参数

Report Parameter。这意思就是,在运行时,qparam1的值将会和param1一致;

Report Parameter(报表参数):它的值你可以在FR的脚本中指定,也可以在aspx页面的cs代码中指定(参见图四中被注释掉的代码);看图三设计器界面图,在右边的窗口里,你可以找到参数这一项,你可以在这里新建/编辑一个报表参数;

现在大家应该明白如何从页面传递参数的值,并把它用于SQl查询中了;

但实际上还有一个问题,使用Query Parameter 时,它只能是一个简单值,不能是复杂的字符串,比如这样的SQL文:

select * from table where country in ('en','cn')

如果你想把('en','cn') 这整个部分设定为一个参数那是不行的,向导会报错,这时如何解决?

在FR设计器中,大家可以看到它是有自己的脚本的(C#语言),在其中添加上_StartReport事件,代码如下所示:

 

ContractedBlock.gif ExpandedBlockStart.gif Code
 1using System;
 2using System.Collections;
 3using System.Collections.Generic;
 4using System.ComponentModel;
 5using System.Windows.Forms;
 6using System.Drawing;
 7using System.Data;
 8using FastReport;
 9using FastReport.Data;
10using FastReport.Dialog;
11using FastReport.Barcode;
12using FastReport.Table;
13using FastReport.Utils;
14using FastReport.Controls;
15
16namespace FastReport
17ExpandedBlockStart.gifContractedBlock.gif{
18  public class ReportScript
19ExpandedSubBlockStart.gifContractedSubBlock.gif  {
20
21    private void _StartReport(object sender, EventArgs e)
22ExpandedSubBlockStart.gifContractedSubBlock.gif    
23     
24      string str1 = (Report.Parameters.FindByName("param1")).Value.ToString();
25     
26      TableDataSource datasource = Report.GetDataSource("protable"as TableDataSource;
27         datasource.SelectCommand =  "select * from protable where " + str1 ;
28      
29    }

30
31  }

32}

 

    再结合图四中被注释掉的传参代码,大家应该全明白了……ok,就到这里吧。

学海无涯,回头没岸

转载于:https://www.cnblogs.com/81du/archive/2011/09/18/2180100.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个指南让你熟悉报表设计器和了解报表设计的基本概念(各种区域,数据源,二次表,等等)。指南将帮助你开始用FastReport创建报表,但它不能告诉你怎样使用其它基本的报表设计器。 如果你不熟悉报表设计器,我们建议你参考QuickReport的帮助系统。QuickReport的指南已经包含在你的Delphi拷贝中。QuickReport的大部分基本概念也适用于FastReport,然而,FastReport能提供更多的弹性和最终用户的自定义。 关于FastReport的说明 FastReport是高弹性的报表设计器,用于报表的数据可以从任何类型的数据源获取,包含字符列表,BDE数据库,ADO数据源(不使用BDE),Interbase(使用IBO),Pascal数组和记录,以及一些不常用的数据源。 整个FastReport系统是用Delphi的Pascal编写的。FastReport不需要动态链接库,但需在你的项目中占用大约400kb(Delphi 5)。如果你想最终用户拥有设计能力,这将在你的.EXE中增加大约500kb。虽然这看上去比较大,但这只是其它设计的几分之一。你同样应该考虑到FastReport不仅仅只是包含最终用户更改报表设计的能力,还能够适应查询和数据库的变化。FastReport还包含自己的脚本语言,让应用程序和最终用户能够更容易地改变报表。如果你的大部分应用使用FastReport,你可以简单地配置FastReport BPL(大约1400kb)而所有你的应用程序只需要保留很少的一部分。 你可以发现FastReport有一个非常吸引人的用户界面,使用最新的用户界面组件,例如可停靠的工具栏。你的最终用户将会非常愿意使用这个设计器,只需使用鼠标就可以创建大多数报表。 FastReport是名副其实的快速报表:较其它一些Delphi报表设计器而言,你可以发现没有什么可以接近于它的开发速度。报表预览窗口一直是大多数报表设计器的弱点,高品质的外观,赋于你的应用程序非常专业的用户界面。 FastReport是一个已经拥有三年历史的非常成熟的报表设计器,成长使它拥有其它Delphi报表设计器所不能相比的诸多先进特性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值