您当前的位置:首页 > 好词好句 > 正文

fastreport(FastReport 交叉报表是怎么做的)

本文目录

  • FastReport 交叉报表是怎么做的
  • C#如何调用Fastreport
  • 如何安装FastReport控件
  • 在C#中FastReport怎么用
  • 如何制作报表fastreport
  • 如何在FastReport报表中动态添加数据集
  • 如何用FastReport制作动态报表
  • 如何利用FastReport创建交叉报表
  • 如何在fastreport中使用数据筛选

FastReport 交叉报表是怎么做的

没用过fastreport做报表,一直用FineReport,在FineReport的帮助文档里面搜了一下交叉表教程,大概如下,可借鉴一下思路:

  •  概述

  • 交叉表,也是常见的基本报表类型,分组报表只是从上到下将数据分组显示,而交叉表则是从上到下、从左到右都将数据分组的报表,如下图:

    FineReport天然支持行列对称,设计交叉表的方法也很简单。

    2. 制作步骤

    2.1 新建工作簿,添加数据集

    新建工作薄,添加数据集ds1,SQL语句为SELECT * FROM [销量]。

    2.2 制作交叉表

    设计好表样后,将数据列拖入对应单元格:

    纵表头:地区与销售员默认纵向扩展实现从上到下分组;

    横表头:将产品类型与产品设置为从左到右扩展,让产品横向分组,实现横表头;

    数据:根据父子格的概念,销量会以销售员为左父格,产品为上父格,自动匹配出销售员与产品对应的销量。

    预览即可看到上图交叉表。

    注:此处销售员与产品对应的销量是唯一的,因此,直接将销量拖入单元格即可。

    另:若销售员与产品对应的销量不唯一,则将销量数据列的显示方式设为汇总-求和,详细请查看数据显示方式。

    2.3 其他设置

    排序、突出显示以及字体颜色调整参考具体章节

    2.4保存发布

    C#如何调用Fastreport

    引用:FastReport.dll,FastReport.Bars.dll,FastReport.Editor.dll设计好**.frx 文件代码:DataSet FDataSet = new DataSet();DataTable table = new DataTable();table.TableName = “Items“;FDataSet.Tables.Add(table);table.Columns.Add(“id“, typeof(int));table.Columns.Add(“aaa“, typeof(string));table.Rows.Add(0,“ab“);table.Rows.Add(1,“abc“);FastReport.Report report1 = new FastReport.Report();try{// load the existing reportreport1.Load(“***.frx“);// register the datasetreport1.RegisterData(FDataSet);report1.GetDataSource(“Items“).Enabled = true;// run the reportreport1.Show();}catch (Exception ex){MessageBox.Show(ex.Message, “Error“, MessageBoxButtons.OK, MessageBoxIcon.Error);}finally{// free resources used by reportreport1.Dispose();}

    如何安装FastReport控件

    FastReport的安装可以选择自动或手动。 自动安装:用FastReport中自带的recompile.exe。 1. 选择编译器:C++Builder6 2. 选择FastReport的版本:Professional 3. 选择Teechart的版本:根据你的机器上安装的,如果没有升级过TeeChart,就选择TeeChartStd 4. 我建议选择recompile all packages 然后进行编译,一般在没有升级TeeChart的时候编译成功率比较高。如果升级了TeeChart,需要多几个步骤才行。 手动安装:安装新版本前,如果以前安装过FastReport,最好将旧的版本卸载。 将压缩包中的文件解压到某目录,如D:\ccrun\vcl\FastReport,建议使用一个固定目录,不要放在临时文件夹中,因为以后可能经常用这个组件的时候,需要包含头文件用。临时目录可能哪天忘了就清除了。 下载FastReport v4.2 Full Source(完整源码版),解压缩。 1. 打开FastReport\FastScript\fs6.bpk--》编译(Compile)--》安装(Install) 2. 打开FastReport\FastScript\fsDB6.bpk--》编译(Compile)--》安装(Install) 3. 打开FastReport\FastQB\fqb60.bpk--》编译(Compile) 4. 新建一个FastReport\LibBCB6目录,复制FastReport\Source\*.*到这个LibBCB6目录 5. 如果需要中文的设计器,复制FastReport\Res\Chinese\*.*到FastReport\LibBCB6目录,覆盖同名文件。 6. 打开FastReport\LibBCB6\frx6.bpk--》编译(Compile)--》安装(Install) 7. 打开FastReport\LibBCB6\frxDB6.bpk--》编译(Compile)--》安装(Install) 如果需要TeeChart的支持,就把Tee6相关的bpk也编译并安装。 FastReport需要FastScript的支持。 另外,在BDS2006下的安装: 运行recompile.exe,关掉打开的BCB或Delphi或BDE程序。在recompile窗口上,Compiler选择D2006(Delphi,C++),FR3 Version选择Professional,TeeChart Version选择TeeChartStd,然后选择Recompile all packages,最后Compile。等待编译完成后打开C++Builder2006,此时组件列表并没有显示FastReport组件,因为相应的bpl还没有安装进来。 C++Builder2006窗口菜单中选择Component--》Install Packages--》Add--》找到刚才FastReport目录下LibD10下的dclfrx10.bpl,添加进来就OK了。

    在C#中FastReport怎么用

    引用:FastReport.dll,FastReport.Bars.dll,FastReport.Editor.dll设计好**.frx 文件CS代码:DataSet FDataSet = new DataSet(); DataTable table = new DataTable(); table.TableName = “Items“; FDataSet.Tables.Add(table); table.Columns.Add(“id“, typeof(int)); table.Columns.Add(“aaa“, typeof(string));table.Rows.Add(0,“ab“);table.Rows.Add(1,“abc“);FastReport.Report report1 = new FastReport.Report(); try { // load the existing report report1.Load(“***.frx“); // register the dataset report1.RegisterData(FDataSet); report1.GetDataSource(“Items“).Enabled = true; // run the report report1.Show(); } catch (Exception ex) { MessageBox.Show(ex.Message, “Error“, MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { // free resources used by report report1.Dispose(); }

    如何制作报表fastreport

    1、创建报表

    我们做一个在运行其使用这些组件建立一个简单报表的示范。在delphi环境中创建一个新的工程,并加入以下组件:TfrxADOComponents,Tbutton,TfrxReport,TfrxDesigner,TfrxDialogControls,TADOConnection。

    2、设置属性

    ADOConnection1:

    LoginPrompt = False

    frxADOComponents1:

    DefaultDatabase = ADOConnection1

    双击设计按钮,定义一个事件函数:

    procedure TForm1.Button1Click(Sender: TObject);

    begin

    frxReport1.DesignReport;

    end;

    运行delphi,点击设计按钮,进入报表设计器。

    3、简单的列表式报表

    在设计器环境中点击新报表,并且换到data页,放置一个ADOTable组件到页面上

    4、注意database属性已经连结到了数据库。并选择数据表名称:

    TableName = ’Customer’

    到报表设计页,连接Master band数据源,并在数据树中将数据源字段托到band上合适的位置,调整大小。界面如下:

    设计完毕,点击预览按钮,浏览结果。

    同为比较常用的报表工具,个人觉得finereport的创建报表步骤可能更加简单易懂,它具有类excel界面。

    如何在FastReport报表中动态添加数据集

    我用的一直都是FineReport,它比较方便,不过既然楼主问的是fastreport,这里我就不谈FineReport了。要创建fastreport的主从报表,需要建立两个数据集。一个是主表的数据集,另外一个是一个明细表的数据集;根据下面的截图来创建fastreport报表。首先,运行报表设计器,创建一个空白报表。为了添加一个明细的数据集,需要调用 “Configure Bands“ 窗口。点击 “Configure Bands“ 按钮便可实现调用,如图所示,也可以通过“Report|Configure Bands...“ 菜单项来调用“Configure Bands“窗口。配置窗口中展示了数据集结构:选择“Data“ 数据集,如图所示,单击鼠标右键以显示上下文菜单,并选择”data“band,接下来,嵌套数据便被添加到所选择的数据集中。按“close”按钮关闭窗口。你会发现报表模版便成下面的样子;将band与相应的数据源连接,并将数据列置于bands上。我们将使用两个数据源:分类和产品。运行报表通过这种方法,你可以创建一个带有无线嵌套数据的主从报表类型。

    如何用FastReport制作动态报表

    没有用fastreport做过,倒是用finereport做过动态表,同为java报表软件,原理上应该是差不多的吧。

    在定义数据集时,通过if函数来判断参数的值从而来实现调用不同的数据表,如直接将SQL语言定义成:SELECT * FROM ${if(aa=1,’订单’,’订单1’)},即若参数aa=1时,查询的是订单表,若aa!=1时,查询的是订单1表。

    1、打开模板

    2、修改数据集

    将数据集修改为SELECT * FROM 订单 ${Condition} 

    3、修改参数界面

    将参数界面的控件名称修改为condition即可

    4、效果查看

    保存模板点击分页预览,输入动态的查询条件如:where 货主地区=’西南’,便可以获取货主地区为西南的数据了,效果如下图:

    如何利用FastReport创建交叉报表

    本文我们将创建一个交叉报表,用于显示员工四年中的工资。要创建交叉报表,我们需要使用到FastReport “DEMOS\MAIN” 文件夹中的“crosstest”表。“crosstest”表包含几下几种类型的数据:FastReport,报表,Report,交叉报表在Delphi中创建一个新项目,将“TTable”,“TfrxDBDataSet”和“TfrxReport”组件置于窗体上,并对它们进行如下设置:Table1:DatabaseName = ’c:\Program Files\FastReport 4\Demos\Main’TableName = ’crosstest.db’DatabaseName属性值必须与你的FastReport安装文件夹路径一致:frxDBDataSet1:DataSet = Table1UserName = ’SimpleCross’对于交叉报表的设计,你需要使用 FastReport调色板上的“TfrxCrossObject”组件 。将“TfrxCrossObject”组件组件放置到Delphi窗体中,无需进行任何设置。同时,包含了所有必要功能的“frxCross”部件,将被添加到“uses“ 列表。进入报表设计模式。首先,使用 “Report|Data…“菜单链接数据源。从列表中选择“DB cross-tab”对象FastReport,报表,Report,交叉报表:点击设计页面以放置对象:FastReport,报表,Report,交叉报表使用对象编辑器指定所有设置。双击对象上调用它:FastReport,报表,Report,交叉报表编辑器项目中的6项数字分别表示:1、带有数据源的下列列表2、所选定的数据源的字段列表。该列表中的字段可以拖动到 “3,” “4,” and “5” 列表中。3、字段列表(生成(行),表头)4、字段列表(生成列标题)5、字段列表生(成表格单元格)6、表结构预览7、该结构选项可以指定是否需要显示标题和汇总在编辑器中只能通过鼠标进行修改。在本文的演示中,你可以将列表“2” 中的字段拖动到列表“3,” “4,”和 “5”中。接着,点击 “ok”按钮关闭编辑器。

    如何在fastreport中使用数据筛选

    首先打开FastReport软件,在数据目录中右键点击,新建一个数据源;根据向导提示填写完数据库的连接信息。物理数据源新建完成之后如下图所示,有一个之前选择数据表的目录,然后可以通过这些数据表来在page页面里面绑定数据和布局可以在page的startpage事件中自定义数据的连接与过滤条件,这些数据库连接(strConnection)与过滤条件(strSql)可以是从外部作为参数传入进来的。绑定之后一定要记得调用Init()方法,不然表格就没有数据加载!如果在同一个report里面有多个地方使用这个表格(或者是循环使用,比如在for循环里面,只是过滤条件不一样),都是按上面的GetReportDataSource方法来获取表格并初始化,表格里面的数据其实是每次循环使用过滤条件得到结果的并集,就是每次操作的结果都会加入到表格中,那么结果可能就不是我们想要的了!这时我们在获取数据表,并自定义绑定数据连接和过滤条件后,进行初始化之前就需要设置表格的ForceLoadData属性为true;如下图所示:步骤阅读6通过官方的帮助文档可以知道设置了这个属性,在每次初始化时都会清空之前的数据,重新加载数据。如果调用次数多也会影响加载速度,所以默认值是false


    声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

    上一篇: 好记星学生平板电脑维修点(好记星学生平板电脑)

    下一篇: 道统性专制性刻板性象征性(道统性)



    推荐阅读