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事件,代码如下所示:

  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
17{
18  public class ReportScript
19  {
20
21    private void _StartReport(object sender, EventArgs e)
22    
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}

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页