fastreport c#初级教程之报表设计器环境
fastreport c#入门教程之嵌套报表

fastreport c#入门教程之嵌套报表嵌套报表有时一些复杂的报表结构中,需要报表的特殊位置显示特殊的数据。
通过FastReport的Band可以创建这些报表。
创建子报表可以使用“子报表组件”。
插入这种组件后,就会在设计器中添加一个新的页面,它连接着这个子报表组件。
镶嵌式报表就像一系列的多页报表系统。
唯一不同的就是嵌套报表显示在基础报表中特殊的位置,而不是在他的后面。
当输出报表时,当FastReport系统遇到“SubReport”组件,FastReport引擎,输出关联的设计页,然后输出报表的其他部分。
还可以在子报表窗面上添加子报表,增加嵌套层数。
注意:可以增加嵌套报表,但最多有6层数据。
5.2、设计子报表你可以在同一Band上放置两个或更多的“SubReport”组件。
这样允许报表设计中,输出数据可以有不同的长度,不同的宽度,不同的高度。
如你所见,报表在输出全部子报表后,生成报表结构。
子报表也可以使用各种对齐方法属性。
5.3、子报表中的限制既然子表是主报表的一部分,他又不能在包含以下Band:“ReportTitle/ReportFooter”、“PageTitle/PageFooter/PageBackground,”和“ColumnTitle/ColumnFooter.”。
把这些Band是可以放在主表单上,但是报表系统是不能对其进行处理。
同理,嵌套表的选项设置一样不被理会,因为报表输出的时候,主要用到的是主表单的选项。
不能把组件放在“subreport”组件的下面。
当显示子报表的数据时,报表系统将用子报表的内容覆盖“subReport”组件下面的位置。
打印可能会出现以下情况:如果要在subreport下面显示数据,可以使用child-band。
在需要多个子报表的情况,这种方法一样适用,5.4、PrintOnParent选项“subreport”组件又一个属性“printonparent”属性,根据情况有需要。
fastreportc#教程之报表向导

fastreportc#教程之报表向导fastreport c#教程之报表向导FastReport有几个报表向导简化报表的生成过程。
选择“文件|新建”菜单,界面如下:13.1、新报表向导有四个创建新报表的向导。
——标准报表向导——标准报表——点矩阵报表向导——点矩阵报表标准报表和点矩阵报表向导可以创建空白的标准报表或点矩阵报表。
报表包含有一个空白页。
标准报表向导和点矩阵报表向导允许生成报表中选择数据字段,创建组。
我们通过标准报表向导创建一个报表。
点击“文件|新建”菜单,选择标准报表向导,弹出向导窗口:可以看到,这个窗口有多个页标签。
第一个页中选择数据源;可以选择任何可用的数据源,也可以创建一个新的表——tabel或query。
点击new table或new query按钮,弹出数据源向导窗口。
在此我们选择customers数据源,点击“下一步>>”按钮。
下一页选择可以显示的字段。
左边列表中显示可以使用的字段,右边列表中显示的是已经选择的字段。
通过“加入>>”“全部加入>>”“<移除”“<<全部移除”按钮选择或移除可以显示的字段。
通过按钮,调整选取的字段的顺序。
下一个页创建一个或多个组。
这个示例中添加一个Group Header,Group Footer两个组。
这个页我们点击“下一步>>”按钮,跳过此页。
下一页设置页面属性。
选择显示方式,在右边可以查看显示样式。
最后一页设置显示模式。
点击“完成”按钮,创建如下报表:13.2、数据连接向导这个向导在当前报表中添加一个新的数据库连接。
这个向导将添加一个TfrxAdoDatabase组件到报表中。
点击“”按钮,弹出标准数据库连接窗口。
并设置登陆用户和登陆密码。
用户可以直接添加一个TfrxAdoDatabase组件建立连接。
13.3、新table向导这个向导可以在报表中加入一个新的数据表的连接。
(转载)c+builder中fastreport报表控件的安装

C++ Builder 安装FastReport 4的方法(转帖)(2010-04-09 16:36:24)转载(转帖)以前曾经安装过FastReport数据报表控件,觉得功能不错。
现在发现网上已经有4以上的版本下载使用。
于是从CCRUN上下载了FastReport V4.7.9进行安装,在下载后发现安装复杂了些,比FastReprot 2.41的版本比较没有自动安装,需要手动编译各部件。
于是将安装心得记录给有需要的朋友参考。
一、卸载旧版本如果以前未安装过FastReport可以直接跳到下一步。
如果安装过以前版本的FastReport在工具栏上会看到FastReport和FR Tools两个选项栏。
首先我们要把先前的版本卸载。
打开BCB的菜单"Project"->Option。
然后在Packages的标签栏项目下,找到FastReport的所有部件,如下图的FastReport2.4 ADO Components 和 FastReport 2.4 Components。
分别点击它们然后点地击“Remove”按钮逐个删除。
卸载完成后返回,工具栏上面的FastReport和FR Tools两个选项栏也同时被清除。
二、设定安装目录选择一个目录进行安装,现在以D:\cb6_control目录为例,将下载的FastReport V4.7.9解压到此目录。
三、生成安装链接文件1. 执行recomplie文件,执行文件前请先将BCB6退出。
否则程序文件出现提示并不能继续安装。
2. 程序运行后出现提示,主要是目录读写权限、C++Builder是否运行、是否有其它程序运行FastReport的部件包,点击“Continue”。
3. 进入到程序界面,选择相应的参数项。
第一项“1. Select the complier”选择程序,选择C++Builer 6。
第二项“2. Select the FastReport version”选择安装FastReport 的版本,选择Enterprise。
.net winform fastreport 例子

.net winform fastreport 例子FastReport是一个用于.NET WinForms应用程序的报表生成器。
以下是一个简单的FastReport示例,它创建一个包含两个文本框和一条汇总行的报表。
首先,您需要在项目中安装FastReport。
可以通过NuGet包管理器来安装FastReport。
在Visual Studio中,右键单击项目并选择“管理NuGet程序包”,然后在搜索框中输入“FastReport”并安装。
下面是使用FastReport生成简单报表的代码示例:在Visual Studio中创建一个新的WinForms应用程序项目。
在窗体上放置一个FastReport.Report控件。
打开代码文件(例如Form1.cs),并添加以下代码:csharp复制代码using System;using System.Windows.Forms;using FastReport;namespace FastReportExample{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){// 创建报表对象Report report = new Report();report.Load("report1.frx"); // 加载报表模板文件(例如report1.frx)// 设置报表数据源report.RegisterData(new DataTable("Products"), "Products");// 准备报表数据源report.Prepare();// 显示报表预览窗口reportViewer1.ShowReport(report);}}}创建一个报表模板文件(例如report1.frx),并添加以下内容:xml复制代码<FastReport xmlns="网址/schema/fr4winforms" xmlns:xsi="网址g/2001/XMLSchema-instance"><Subreports></Subreports><Detail><TextObject><Value>Product Name: [Products.ProductName]</Value></TextObject><TextObject><Value>Quantity: [Products.Quantity]</Value></TextObject></Detail><Summary><Total><TextObject><Value>Total</Value></TextObject><SumFunction>[Products.Quantity]</SumFunction></Total></Summary></FastReport>运行应用程序,您将看到一个包含产品名称和数量的报表,以及一个汇总行显示总数量。
C#使用fastreport实现预览打印

1.新建项目 2.添加引用
C#使用 fastreport实现预览打印
3.主窗体添加预览,打印件
4. 在子窗体加载事件中写代码 代码如下
private void CD_Load(object sender, EventArgs e){
dt = new DataTable(); DataTable dt2 = new DataTable(); ////// 查信息 dt = db.MysqlDataTable("SQL语句"); dt.TableName = "health_data"; DataSet dsa = new DataSet(); dsa.Tables.Add(dt.Copy()); //加载报表设计文件 Report report = new Report(); string Path = System.Environment.CurrentDirectory + "/rp_duib1__bak.frx";//模板路径 report.Load(Path); report.RegisterData(dsa);
//设置默认打印机 report.PrintPrepared(); report.PrintSettings.ShowDialog = false; report.Print(); //释放资源 report.Dispose();
}
6.批量打印 循环dataGridView 调用5中的打印方法。
//////////预览/////// report.Preview = previewControl1;
report.Prepare(); //准备 report.ShowPrepared(); //显示
C#调用FastReport报表打印时的传参形式

C#调⽤FastReport报表打印时的传参形式C#调⽤FastReport报表打印时的传参形式⽅式⼀调⽤SetParameterValue⽅法FastReport.Report report = new FastReport.Report();report.SetParameterValue(参数名称, 参数值);需要在报表模板⽂件xx.frx中的<Dictionary>标签中添加对应的参数在报表设计器中调⽤参数的⽅法如下⽅式⼆调⽤RegisterData注册数据report.RegisterData(数据集, 数据集名称);需要在报表模板⽂件xx.frx的<Dictionary>标签中添加表格数据源、定义数据列及类型在报表设计器中调⽤数据集的⽅法如下调⽤实例1.直接传参数FastReport.Report report = new FastReport.Report();report.Load("ReportFile\\1.直接传参数.frx");//加载模板report.PrintSettings.Printer = Printer;//设置打印机string Username = "直接传递参数";report.SetParameterValue("prams1", Username);//传参report.Show();//预览效果:2.DataSet传参FastReport.Report report = new FastReport.Report();report.Load("ReportFile\\2.DateSet传参.frx");report.PrintSettings.Printer = Printer;//组织数据DataSet dt = new DataSet();DataTable tb = new DataTable();tb.TableName = "成绩表";tb.Columns.Add(new DataColumn("语⽂", Type.GetType("System.Int32")));tb.Columns.Add(new DataColumn("数学", Type.GetType("System.Int32")));tb.Columns.Add(new DataColumn("英语", Type.GetType("System.Int32")));for (int i = 0; i < 10; i++){DataRow dr = tb.NewRow();dr["语⽂"] = 36;dr["数学"] = 89;dr["英语"] = 82;tb.Rows.Add(dr);}dt.Tables.Add(tb);//数据注册report.RegisterData(dt, "Data");report.Show();效果:3.图⽚传输FastReport.Report report = new FastReport.Report();report.PrintSettings.Printer = Printer;report.Load("ReportFile\\3.图⽚传输.frx");//直接传图Image image = Image.FromFile("test.jpg");FastReport.PictureObject imgobj = report.FindObject("Picture1") as FastReport.PictureObject; imgobj.Width = 120;imgobj.Height = 120;imgobj.Image = image;//DateSet传图byte[] img = ImageToByte(image);DataSet dt = new DataSet();DataTable tb = new DataTable();tb.TableName = "图⽚表";tb.Columns.Add(new DataColumn("图⽚1", Type.GetType("System.Byte[]")));DataRow dr = tb.NewRow();dr["图⽚1"] = img;tb.Rows.Add(dr);dt.Tables.Add(tb);report.RegisterData(dt, "Data"); report.Show();效果:码云git地址:。
fastreport

使用FastReport进行打印C#代码//准备工作: 打开设计器创建一个空的报表LiShiChuFang.frxDataSetFDataSet = new DataSet();//fastreport中的数据源必须为DataSetIf(mDtLishiChufang==null||mDtLishiChufang.Rows.Count==0){MsgHelper.MessageBoxWarning("当前无需要打印的信息");return;}//为DataSet添加表并对表命名以方便区分在fastreport中的数据源绑定DataTable table = new DataTable();table.TableName = "ChuFang";FDataSet.Tables.Add(table);//为table创建新列table.Columns.Add("Datetime",typeof(string));table.Columns.Add("YaoPinName", typeof(string));table.Columns.Add("ShuLiang", typeof(string)); table.Columns.Add("ZongDanwei", typeof(string));table.Columns.Add("YongLiang", typeof(string));table.Columns.Add("DanDanwei", typeof(string));table.Columns.Add("PinCi", typeof(string));table.Columns.Add("YongFa",typeof(string));table.Columns.Add("ChiXuTianShu",typeof(string)); table.Columns.Add("KaiDanRen", typeof(string));doubletotleMoney = 0;//对table添加数据for (int i = 0; i <mDtLishiChufang.Rows.Count; i++){table.Rows.Add(mDtLishiChufang.Rows[i]["kaidantime"].ToString(),mDtLishiChufang.Rows[i]["药品名称"].ToString(), mDtLishiChufang.Rows[i]["数量"].ToString(), mDtLishiChufang.Rows[i]["单位"].ToString(), mDtLishiChufang.Rows[i]["单量"].ToString(), mDtLishiChufang.Rows[i]["单量单位"].ToString(), mDtLishiChufang.Rows[i]["频次"].ToString(), mDtLishiChufang.Rows[i]["用法"].ToString(), mDtLishiChufang.Rows[i]["持续天数"].ToString(), mDtLishiChufang.Rows[i]["CaoZuoRenName"].ToString());if (mDtLishiChufang.Rows[i]["总价"] != null &&mDtLishiChufang.Rows[i]["总价"].ToString().Length > 0){totleMoney += Convert.ToDouble(mDtLishiChufang.Rows[i]["总价"]);}else{continue;}}//实例化FastReport并load需要的模板FastReport.Report report1=new FastReport.Report();report1.Load(Application.StartupPath+"\\LiShiChuFang.frx");report1.RegisterData(FDataSet);//在fastreport中显示table的数据以便于进行数据绑定report1.GetDataSource("ChuFang").Enabled = true;DataTablereportdt = new DataTable();//对于fastreport中的参数进行数据绑定FastReport.Data.Parameter t1 = report1.GetParameter("JiuZhenBianHao");FastReport.Data.Parameter t2 = report1.GetParameter("KeHuName");FastReport.Data.Parameter t3 = report1.GetParameter("ChongWuName");FastReport.Data.Parameter t4 = report1.GetParameter("KaNumber");FastReport.Data.Parameter t5 = report1.GetParameter("KaYue");FastReport.Data.Parameter t6 = report1.GetParameter("Weight");FastReport.Data.Parameter t7 = report1.GetParameter("TotleMoney");FastReport.Data.Parameter t8 = report1.GetParameter("YsName"); FastReport.Data.Parameter t9 = report1.GetParameter("GongSiName");FastReport.Data.Parameter t10 = report1.GetParameter("CSex");FastReport.Data.Parameter t11 = report1.GetParameter("CPinZhong");FastReport.Data.Parameter t12 = report1.GetParameter("YsName");FastReport.Data.Parameter t13 = report1.GetParameter("CompanyName");t1.Value = chongwu.jiuzhenbianhao;t2.Value = chongwu.kehu_name;t3.Value = chongwu.chongwu_name;t6.Value = chongwu.weight;t7.Value = totleMoney.ToString("#0.00");t10.Value = chongwu.chongwusex;t11.Value = chongwu.chongwuleibie;t12.Value = EMPModels.PublicInfo.CurrentUserName;t13.Value = panyName;//打开fastreport编辑器进行可视化绑定数据//report1.Design();//进行打印预览report1.Prepare();report1.ShowPrepared();设计器端1.新建参数2.在设计器中添加控件双击进行数据绑定表格绑定请双击cell双击需要绑定的数据点击ok即可3绑定Data Source中的数据。
FastReport报表使用代码C#

using System;using System.Data;using ponentModel;using FastReport;namespace cx{///<summary>/// Summary description for FrxDataSet.///</summary>public class FrxDataTable : DataTable{private int nItem;TfrxUserDataSetClass m_ds;private DataTable m_ChildTable;public new string TableName{get { return m_; }}public IfrxDataSet FrxTable{get { return m_ds as IfrxDataSet; }}private void constructor(string name){m_ChildTable = null;m_ds = new TfrxUserDataSetClass();m_ds.OnCheckEOF += newIfrxUserDataSetEvents_OnCheckEOFEventHandler(OnCheckEOFEventHandler); m_ds.OnGetValue += newIfrxUserDataSetEvents_OnGetValueEventHandler(OnGetValueHandler);m_ds.OnFirst += newIfrxUserDataSetEvents_OnFirstEventHandler(OnFirstEventHandler);m_ds.OnNext += newIfrxUserDataSetEvents_OnNextEventHandler(OnNextEventHandler);m_ds.OnPrior += newIfrxUserDataSetEvents_OnPriorEventHandler(OnPriorEventHandler);m_ = name;DataColumnCollection cols = Columns;cols.CollectionChanged += new CollectionChangeEventHandler(ColumnsCollection_Changed);}public FrxDataTable(string name){constructor(name);}public FrxDataTable(DataTable t){constructor(t.TableName);string FieldNames = null;foreach (DataColumn col in t.Columns) FieldNames += col.Caption + "\n"; m_ds.Fields = FieldNames;m_ChildTable = t;}///<summary>/// Assigns table to report///</summary>public void AssignToDataBand(string BandName, TfrxReportClass report){IfrxComponent frx_component;((IfrxComponent)report).FindObject(BandName, out frx_component);((IfrxDataBand)frx_component).DataSet = (IfrxDataSet)m_ds;}///<summary>/// Assigns table to report///</summary>public void AssignToReport(bool Enable, TfrxReportClass report){report.SelectDataset(Enable, m_ds);}///<summary>/// On First event handler///</summary>private void OnFirstEventHandler(){nItem = 0;}///<summary>/// On Next event handler///</summary>private void OnNextEventHandler(){nItem++;}///<summary>/// On Prior evene handler///</summary>private void OnPriorEventHandler(){nItem--;}///<summary>/// On check EndOfFile event handler///</summary>private void OnCheckEOFEventHandler(out bool eof){if (m_ChildTable == null){eof = (nItem >= Rows.Count);}else{eof = (nItem >= m_ChildTable.Rows.Count);}}///<summary>/// On get value handler///</summary>private void OnGetValueHandler(object VarName, out object Val) {if (m_ChildTable == null){Val = Rows[nItem][VarName.ToString()];}else{Val = m_ChildTable.Rows[nItem][VarName.ToString()];}// FastReport does not know about System.Decimal object type// so convert it to Integerif (Val is Decimal){Val = Decimal.ToInt32((Decimal)Val);}}///<summary>/// Updates FastReport UserDataSet on Column addition///</summary>private void ColumnsCollection_Changed(object sender, CollectionChangeEventArgs e){DataColumnCollection cols = (DataColumnCollection)sender;string FieldNames = null;foreach (DataColumn col in cols) FieldNames += col.Caption + "\n";m_ds.Fields = FieldNames;}}}Button按钮中的代码引用FastReportFastReport.TfrxReportClass report = new FastReport.TfrxReportClass(); report.MainWindowHandle = (int)this.Handle;report.LoadReportFromFile(Application.StartupPath +"\\report\\zzylb.fr3");alluse.FrxDataTable rptdataset1 = new alluse.FrxDataTable("lab_dwzz");SqlDataAdapter sda = new SqlDataAdapter("select * from lab_dwzz", alluse.Class1.conn1);sda.Fill(rptdataset1);rptdataset1.AssignToReport(true, report);rptdataset1.AssignToDataBand("MasterData1", report);// MasterData1报表中的主数据report.ShowReport();以上是成功代码。
C#如何调用Fastreport

C#如何调⽤FastreportcodeBase="<%=HTTPStr%>/common/ocx/ReportActiveFormProj1.ocx#version=2,0,0,0"height=830 hspace=0 width="100%" align=center vspace=0classid=clsid:B9BE2CBF-747A-49E5-AD52-9D983D9536E8 VIEWASTEXT>这是打印界⾯代码---------------------------------------------------------------------private void Page_Load(object sender, System.EventArgs e){string modelPath_host = Request.ServerVariables["LOCAL_ADDR"];HTTPStr = "http://" + modelPath_host;modelPath = "http://"+modelPath_host+"/common/ocx/rpfile/query_errorpinyin_report.txt";//指到模板的⽹站路径/doc/122636204.htmlmon.Query.ErrorPy query = (/doc/122636204.htmlmon.Query.ErrorPy)Session["Query_Error_Pinyin"];//获取查询参数using(DataSet ds = new Brjl.BcMis.Bussiness.Queries.ErrorPy().GetErrorCode(query)//查询后的数据集{for(int i=0;i{int num = i+1;mm=mm+"report1.AddMultiData(\"data1\",\""+num.ToString()+"\");\n";mm=mm+"report1.AddMultiData(\"data2\",\""+ds.Tables[0].Rows[i]["jc"]+"\");\n";mm=mm+"report1.AddMultiData(\"data3\",\""+ds.Tables[0].Rows[i]["neeaid"]+"\");\n";mm=mm+"report1.AddMultiData(\"data4\",\""+ds.Tables[0].Rows[i]["cname"]+"\");\n";mm=mm+"report1.AddMultiData(\"data5\",\""+ds.Tables[0].Rows[i]["pinyin"]+"\");\n";mm=mm+"report1.AddMultiData(\"data6\",\""+ds.Tables[0].Rows[i]["aa"]+"\");\n";mm=mm+"report1.AddMultiData(\"data7\",\""+ds.Tables[0].Rows[i]["name"]+"\");\n";mm=mm+"report1.AddMultiData(\"data8\",\""+ds.Tables[0].Rows[i]["phone"]+"\");\n";mm=mm+"report1.AddMultiData(\"data9\",\""+ds.Tables[0].Rows[i]["mobile"]+"\");\n";mm=mm+"report1.AddMultiData(\"data10\",\""+ds.Tables[0].Rows[i]["email"].ToString().Replace("\r\n"," ")+"\");\n"; mm=mm+"report1.AddMultiData(\"data11\",\""+ds.Tables[0].Rows[i]["address"].ToString().Replace("\r\n"," ")+"\");\n"; }mm="report1.BindMultiDataTofrBind('data1,data2,data3,data4,data5,data6,data7,data8,data9,d ata10,data11','mm');\n"+mm;//循环后赋给mm 字符串,这些data 就是你模板上的控件id}}后台代码----------------------------------------------------------------应该还有简单的⽅法,⼀条sql语句就⾏了,在找找-----------------------------------------------------------------------上班是以前的版本,要是⽤最新的就是只要sql语句。
fastreport教程

FastReport教程简介FastReport是一款功能强大且易于使用的报告生成工具。
它提供了丰富的报告设计功能,并支持多种数据源。
FastReport广泛应用于软件开发、数据分析和业务报表等领域。
本教程将介绍FastReport的基本用法和一些常用功能。
安装要使用FastReport,我们首先需要安装它。
FastReport支持多种开发环境,如Delphi、C++Builder、.NET等。
你可以根据自己的开发环境选择合适的版本进行安装。
Delphi环境如果你使用Delphi进行开发,可以按照以下步骤安装FastReport:1.在FastReport官网下载最新版本的安装包;2.运行安装包,按照提示进行安装;3.在Delphi的组件面板中找到FastReport组件,将其拖放到窗体中。
.NET环境如果你使用.NET进行开发,可以按照以下步骤安装FastReport:1.在FastReport官网下载最新版本的安装包;2.运行安装包,按照提示进行安装;3.在Visual Studio中打开项目,通过NuGet下载并安装FastReport。
创建报表创建报表是使用FastReport的第一步。
在FastReport中,我们可以使用设计器来创建报表模板,并在代码中加载和填充数据。
下面是创建报表的基本步骤:1.打开FastReport设计器,新建一个报表项目;2.在报表中添加数据源,可以是数据库、XML文件或自定义数据源;3.在报表中添加报表控件和数据绑定,设计报表样式;4.在代码中加载数据,并预览或导出报表。
加载数据在FastReport中,我们可以使用多种方式加载数据:数据库如果你的报表数据存储在数据库中,你可以使用FastReport提供的数据库连接工具加载数据。
首先需要设置数据库连接参数,然后通过SQL查询或存储过程获取数据。
```csharp using FastReport.Data;// 创建数据库连接 var connection = new Connection(); connection.ConnectionString =。
fastreport问题整理

fastreport问题整理FastReport 问题整理1.FastReport中如果访问报表中的对象?可以使用FindObject方法。
TfrxMemoView(frxReport1.FindObject(’memo1′)).Text:=’F astReport’;2.FastReport中如何使用上下标?设置frxmemoview.AllowHTMLTags := True;在Text输入如下上标:mm<sup>2</sup>下表:k<sub>6</sub>举一反三,你还可以使用其他HTML标记。
3.FastReport中如何打印总页数?设置两次报表后加入引号内内容“第[Page#]页共[TotalPages#]页”4.FastReport中如何动态加入变量及变量组?建立变量组名:=’ '+变量组名;建立变量名frxreport1.Variables.AddVariable(’组名,如果为不存的组或空,则为默认组,这里不需要空格’,变量名,变量初始值);例如要建立变量组Yuan,二个变量Yuan1,Yuan2,则为:=’ Yuan’注意前面是空格frxreport1.Variables.AddVariable(’Yuan’,Yuan1,初始值)frxreport1.Variables.AddVariable(’Yuan’,Yuan2,初始值)5.FastReport中如何加入自定义函数?Fastreport可以自己加入需要的函数,来实现特定的功能。
过程就是:1)添加函数到报表中。
frxreport1.AddFunction(’完整的函数声明’);如有一个自定义函数,为GetName(Old:String):String;这个函数通过数据集的一个字段,得到另一个返回值。
则语句为:frxreport1.AddFunction(’Function GetName(Old:String):String;’);2)脚本中使用函数。
fastreport带参查询及用c#程序给参数赋值

注意这里定义的code参数只在当前sql语句有效,名称不需要同全局参数定义成一样,只要将该参数的属性Expression要为报表参数code。 下一步再定义自己需要的字敦
4、用c#程序给参数赋值(我试过很多地方,只有在StartReport事件中赋值才可以,其他地方无效)
注意这里定义的code参数只在当前sql语句有效名称不需要同全局参数定义成一样只要将该参数的属性expression数赋值
最近需要用到fastreport报表,综合网上教程自己整理了一下,以便以后再使用 1、添加数据源(这里不赘述) 2、在fastreport中定义参数
右击新建参数 3、写带参sql查询
这里写了一个简单的sql查询 select a.UnitPrice as '单价',a.UnitCost as '成本' from StoreInDetail a join StoreInItem b on a.StoreInItemId=b.Id where b.Code=@code(引 用参数要加@)
fastreport c#初级教程之报表预览、打印、导出

fastreport c#初级教程之报表预览、打印、导出创建的报表可以预览,打印和导出到报表可以支持的格式。
这些在报表预览界面都可以实现。
图中数字说明:1:报表页2:工具栏3:状态栏4:概要区工具栏按钮说明:图标名称说明打印报表输出当前预栏报表到打印机打开报表从文件中(*.fr3)打开预览报表保存报表将当前预览的报表保存到文件中。
文字查询在报表预览中查询匹配文字放大放大显示预览缩小缩小显示预览全屏全屏显示预览概述页面设置编辑导出弹出下拉条选择可以支持的导出格式1、控制键快捷键描述Ctrl+S保存到文件中“*.fr3”Ctrl+P打印报表Ctrl+F文字查找F3继续查找Arrows移动报表PageUp,PageDown向上/向下滚动Ctrl+PageUp,PageDown上一页/下一页滚动Home移到报表开始End移到报表结尾2、鼠标控制Action说明Left button鼠标状态为“小手”可以移动页面,在工具栏点击放缩按钮。
Right button弹出上下文右键菜单Double-click在全屏模式下双击还原到普通模式。
Mouse scroll滚动报表页面。
3、报表的打印点击工具栏打印机图标按钮,弹出打印机选项窗体。
设置相关选项,点击确定按钮,输出到打印机。
4、报表中的文字搜索FastReport可以在预览窗口进行文字的搜索。
在工具览点击查询按钮,弹出查找设置对话框:点击确定按钮,开始查找,找到相匹配的字符串进行高亮显示。
再按F3可以从当前位置向下继续查找上面设置的文字。
5、报表的导出FastReport可以将生成的报表到出导不同格式的文件中,可用于将来的修改。
如果要支持这些导出能力,需要将FastReport4exports组件面板上的组件放置到delphi的窗体上。
FastReport可以支持13格式的导出,他们是:PDF文件、HTML文件、RTF 文件、excel table(OLE)、XML格式、BMP图形、JPEG图形、TIFF图形、CSV 文件,GIF文件、文本文件、开放文本文件、开放表单文件。
C#winform动态构建fastreport报表

C#winform动态构建fastreport报表private void DoPrint(){DataView dv = (DataView)dgv_apply_details.DataSource;Report report = new Report();//给report注册数据源report.RegisterData(dv, "Purchasment");//设置能在报表中使⽤report.GetDataSource("Purchasment").Enabled = true;ReportPage page1 = new ReportPage(); = "Page1";page1.SetDefaults();//设置标题page1.ReportTitle = new ReportTitleBand(); = "ReportTitle1";page1.ReportTitle.Height = 0;//Units.Centimeters * 0.1f;//给标题赋值TextObject txtTitle = new TextObject(); = "TextTitle";txtTitle.Bounds = new RectangleF(0, 0, Units.Centimeters * 19, Units.Centimeters * 1);txtTitle.Text = "药品采购汇总单";txtTitle.HorzAlign = HorzAlign.Center;txtTitle.VertAlign = VertAlign.Center;txtTitle.Font = new Font("微软雅⿊", 20, FontStyle.Bold);page1.ReportTitle.Objects.Add(txtTitle);GroupHeaderBand group1 = new GroupHeaderBand(); = "GroupHeader1";group1.Height = Units.Centimeters * 2f;group1.Condition = "[Purchasment.order_id]";//分组条件DataBand data1 = new DataBand(); = "Data1";data1.Height = Units.Centimeters * 1.5f;//Units.Centimeters * 3f;//调的是data⾥⾯数据(即dataHeaderBand)的间距,也是table中row之间的间距 data1.DataSource = report.GetDataSource("Purchasment");#region分组表头//GetDataBand(ref dataBand, ref dataHeaderBand);//TextObject txt2 = new TextObject();// = "Text2";//txt2.Bounds = new RectangleF(0, 0, Units.Centimeters * 20, Units.Centimeters * 3);//txt2.VertAlign = VertAlign.Center;//txt2.Font = new Font("宋体", 9, FontStyle.Bold);//txt2.Text = dataHeaderBand;//"订单号:[Purchasment.order_id]";//group1.Objects.Add(txt2);//TextObject txt3 = new TextObject();// = "Text3";//txt3.Bounds = new RectangleF(Units.Centimeters * 8, 0, Units.Centimeters * 20, Units.Centimeters * 3);//txt3.VertAlign = VertAlign.Center;//txt3.Text = "申请药房:[Purchasment.storage_name]";//group1.Objects.Add(txt3);////<TextObject Name="Text38" Left="198.45" Top="18.9" Width="75.6" Height="28.35" Text="订单状态:" VertAlign="Center"/>//TextObject txt4 = new TextObject();// = "Text4";////txt4.Bounds = new RectangleF(float.Parse("198.45"), float.Parse("18.9"), float.Parse("75.6"), float.Parse("28.35"));//txt4.Bounds = new RectangleF(Units.Centimeters * 15, 0, Units.Centimeters * 10, Units.Centimeters * 1);//txt4.VertAlign = VertAlign.Center;//txt4.Text = "采购科室:[Purchasment.sourceStorage]";//group1.Objects.Add(txt4);#endregion//DataHeaderBand dataHeader1 = new DataHeaderBand();// = "DataHeader1";//dataHeader1.Height = Units.Centimeters * 1;//data1.Objects.Add(dataHeader1);//GetDataBand(ref dataBand, ref dataHeaderBand);//TextObject txt6 = new TextObject();// = "Text6";//txt6.Bounds = new RectangleF(0, Units.Centimeters * 2, Units.Centimeters * 30, Units.Centimeters * 1);//txt6.Text = dataHeaderBand;//txt6.Font = new Font("宋体", 9, FontStyle.Bold);//dataHeader1.Objects.Add(txt6);////group1.Objects.Add(txt6);//TextObject txt7 = new TextObject();// = "Text7";//txt7.Bounds = new RectangleF(0, Units.Centimeters * 3, Units.Centimeters * 30, Units.Centimeters * 1f);//txt7.Text = dataBand;//txt7.Font = new Font("宋体", 9);//data1.Objects.Add(txt7);#region Table表格TableObject table1 = new TableObject(); = "Table1";table1.Border.Lines = BorderLines.All;table1.Height = Units.Centimeters * 1.5f;//table1.Width = Units.Centimeters * 30;#region TableColumn//TableColumn column1 = new TableColumn();// = "Column1";//column1.Width = Units.Centimeters * 3;//table1.AddChild(column1);//AddChild应为添加⼦节点,适⽤于table内部////table1.ChildObjects.Add(column);//试过这种添加⽅式,不过这样就不显⽰表格了//TableColumn column2 = new TableColumn();// = "Column2";//column2.Width = Units.Centimeters * 3;//table1.AddChild(column2);//TableColumn column3 = new TableColumn();// = "Column3";//column3.Width = Units.Centimeters * 3;//table1.AddChild(column3);//TableColumn column4 = new TableColumn();// = "Column4";//column4.Width = Units.Centimeters * 3;//table1.AddChild(column4);//TableColumn column5 = new TableColumn();// = "Column5";//column5.Width = Units.Centimeters * 3;//table1.AddChild(column5);//TableColumn column6 = new TableColumn();// = "Column6";//column6.Width = Units.Centimeters * 3;//table1.AddChild(column6);#endregionTableRow row1 = new TableRow(); = "Row1";row1.Height = Units.Centimeters * 1.5f;table1.AddChild(row1);#region TableCell cell1//TableCell cell1 = new TableCell();// = "Cell1";//cell1.HorzAlign = HorzAlign.Center;//cell1.VertAlign = VertAlign.Center;//cell1.Border.Lines = BorderLines.All;//cell1.Text = "[Purchasment.drug_name]";//cell1.Font = new Font("宋体", 9);//row1.AddChild(cell1);//TableCell cell2 = new TableCell();// = "Cell2";//cell2.HorzAlign = HorzAlign.Center;//cell2.VertAlign = VertAlign.Center;//cell2.Border.Lines = BorderLines.All;//cell2.Text = "[Purchasment.package_spec]";//cell2.Font = new Font("宋体", 9);//row1.AddChild(cell2);//TableCell cell3 = new TableCell();// = "Cell3";//cell3.HorzAlign = HorzAlign.Center;//cell3.VertAlign = VertAlign.Center;//cell3.Border.Lines = BorderLines.All;//cell3.Text = "[Purchasment.sale_price]";//cell3.Font = new Font("宋体", 9);//row1.AddChild(cell3);//TableCell cell4 = new TableCell();// = "Cell4";//cell4.HorzAlign = HorzAlign.Center;//cell4.VertAlign = VertAlign.Center;//cell4.Border.Lines = BorderLines.All;//cell4.Text = "[Purchasment.manufacture_name]";//cell4.Font = new Font("宋体", 9);//row1.AddChild(cell4);//TableCell cell5 = new TableCell();// = "Cell5";//cell5.HorzAlign = HorzAlign.Center;//cell5.VertAlign = VertAlign.Center;//cell5.Border.Lines = BorderLines.All;//cell5.Text = "[Purchasment.distributor_name]";//cell5.Font = new Font("宋体", 9);//row1.AddChild(cell5);//TableCell cell6 = new TableCell();// = "Cell6";//cell6.HorzAlign = HorzAlign.Center;//cell6.VertAlign = VertAlign.Center;//cell6.Border.Lines = BorderLines.All;//cell6.Text = "[Purchasment.amount]";//cell6.Font = new Font("宋体", 9);//row1.AddChild(cell6);#endregionSetDataHeaderAndTable(group1, page1.PaperWidth, table1, row1);data1.Objects.Add(table1);#endregion#region报表底page1.PageFooter = new PageFooterBand(); = "PageFooter1";page1.PageFooter.Height = Units.Centimeters * 1;//这个⾼度必须>=PageFooter包含⽂字的RectangleF⾥⾯的y的值TextObject ftxt1 = new TextObject(); = "FText1";ftxt1.Bounds = new RectangleF(0, Units.Centimeters * 1, Units.Centimeters * 10, Units.Centimeters * 1);ftxt1.Text = "打印时间:[Date]";ftxt1.Font = new Font("宋体", 9);ftxt1.VertAlign = VertAlign.Center;page1.PageFooter.Objects.Add(ftxt1);TextObject ftxt2 = new TextObject(); = "FText2";ftxt2.Bounds = new RectangleF(Units.Centimeters * 15, Units.Centimeters * 1, Units.Centimeters * 10, Units.Centimeters * 1); ftxt2.Text = "页码:[PageN]/[TotalPages#]";ftxt2.Font = new Font("宋体", 9);ftxt2.VertAlign = VertAlign.Center;page1.PageFooter.Objects.Add(ftxt2);TextObject ftxt3 = new TextObject(); = "FText3";ftxt3.Bounds = new RectangleF(Units.Centimeters * 8, Units.Centimeters * 1, Units.Centimeters * 10, Units.Centimeters * 1); ftxt3.Text = "打印⼈:[operator]";ftxt3.Font = new Font("宋体", 9);ftxt3.VertAlign = VertAlign.Center;page1.PageFooter.Objects.Add(ftxt3);report.SetParameterValue("operator", erCode);#endregion//group1.Objects.Add(data1);group1.Data = data1;page1.Bands.Add(group1);report.Pages.Add(page1);report.Show();}///<summary>///根据当前显⽰的字段,动态添加数据⾸和表格///</summary>private void SetDataHeaderAndTable(GroupHeaderBand group1, float pageWidth, TableObject table1, TableRow row1){int count = 0;//记录显⽰的列数int index = 0;DataTable dt = OrderBL.SelectFreecombination();if (dt != null){for (int i = 0; i < dgv_apply_details.Columns.Count; i++){if (dgv_apply_details.Columns[i].Visible){count++;}}if (count <= 0){YxMessageBox.ShowWarning("当前没有可打印的数据!");return;}for (int i = 0; i < dt.Rows.Count; i++){if (DbHelper.GetBool(dt.Rows[i], "print_status")){TextObject text = new TextObject(); = "Text" + index.ToString();text.Bounds = new RectangleF(0 + index * (3 * pageWidth / count), 0, 3 * pageWidth / count, Units.Centimeters * 3); text.VertAlign = VertAlign.Center;text.Font = new Font("宋体", 9, FontStyle.Bold);text.Text = DbHelper.GetString(dt.Rows[i], "header_text");group1.Objects.Add(text);TableColumn column1 = new TableColumn(); = "Column" + index.ToString(); ;column1.Width = 3 * pageWidth / count;//Units.Centimeters * 3;table1.AddChild(column1);TableCell cell1 = new TableCell(); = "Cell" + index.ToString(); ;cell1.HorzAlign = HorzAlign.Center;cell1.VertAlign = VertAlign.Center;cell1.Border.Lines = BorderLines.All;cell1.Text = "[Purchasment." + DbHelper.GetString(dt.Rows[i], "dataproperty_name") + "] ";cell1.Font = new Font("宋体", 9);row1.AddChild(cell1);index++;}}}}打印效果如图:。
在LazarusIDE中集成安装FastReportVCL

在LazarusIDE中集成安装FastReportVCLLazarus这个跨平台的开源IDE由于其在Linux下的出色表现,近来吸引了越来越中国Delphi开发者的注意。
报表控件FastReport VCL 也在前不久发布的4版本中支持了Lazarus,经过简单的测试,慧都就迫不及待的来和大家分享一下如何安装和安装中的常见问题。
首先需要FastReport VCL 4专业版或以上版本,因为只有这个版本支持了才发布的Lazarus 1.0.8,FastReport VCL 4的试用版只能在Lazarus 1.0.8以下版本中才能保证正常运行。
首先同时在本机上安装完成FastReport VCL 4和Lazarus。
然后我们就可以开始集成编译了。
Win32下安装1、在Win32 FastReport及其标准部件正常运行的情况下,运行Lazarus IDE。
2、Lazarus IDE中“Packages” -> “Open package(*.lpk)”。
3、定位安装FastScript的包,他的默认路径是C:\Program Files\FastReports\FastReport 4\FastScript。
注意这里需要管理员权限,请在设置FastScript始终用管理员模式打开。
4、打开fs_lazarus.lpk,然后选择“Use”->“Install”,然后重启Lazarus,FastScript就已经添加到Lazarus中了,如下图。
5、安装完成FastScript后,再定位FastReport包(fr4_lazarus.lpk),默认路径是C:\Program Files\FastReports\FastReport 4\Source。
6、用刚给方式打开fr4_lazarus.lpk,然后选择“Use”->“Install”,然后重启Lazarus,FastReport就已经添加到刚刚安装的脚本包里了。
在C#中调用FastReport设计窗口

在C#中调⽤FastReport设计窗⼝因为引⼊FastReport中的控件时报错,在⽹上⼜搜不到相应的解决办法所以在这⾥动态添加⾸先在创建的项⽬中引⼊FastReport.dll//创建⼀个空的报表Report report = new Report();designerControl1.Report = report;//恢复设计布局designerControl1.RefreshLayout();panel2.Controls.Add(designerControl1);designerControl1.Dock = DockStyle.Fill;designerControl1.UIStateChanged += designerControl1_UIStateChanged;// 设计器ui改变事件private void designerControl1_UIStateChanged(object sender, EventArgs e){// btnSave.Enabled = designerControl1.cmdSave.Enabled;// btnUndo.Enabled = designerControl1.cmdUndo.Enabled;// btnRedo.Enabled = designerControl1.cmdRedo.Enabled;}另⼀种⽅法,通过 report.Design(); ⽅法来调⽤设计器Report report = new Report();DataSet ds = new DataSet();DataTable dt = new DataTable();dt= DbHelperOra.Query(txt_Sql.Text).Tables[0];dt.TableName = "测试";DataTable dt1 = new DataTable("测试2");dt1.Columns.Add("时间");dt1.Columns.Add("打印⼈");dt1.Rows.Add("2020-01-01", "管理员");dt1.Rows.Add("2020-02-02", "管理");ds.Tables.Add(dt.Copy());ds.Tables.Add(dt1.Copy());report.RegisterData(ds);//动态添加参数report.SetParameterValue("测试参数名", "测试值");//获取指定名称的数据源report.GetDataSource("测试").Enabled = true;report.GetDataSource("测试2").Enabled = true;//调出设计器report.Design();//显⽰预览窗⼝report.Show();report.Dispose();打开报表不绑定数据是⽆法预览的Report report = new Report();OpenFileDialog openDlg = new OpenFileDialog();openDlg.Filter = "报表⽂件|*.frx";if (openDlg.ShowDialog() == DialogResult.OK){report.Load(openDlg.FileName);report.Design();report.Dispose();}。
fastreport c#教程之报表预览、打印、导出

fastreport c#教程之报表预览、打印、导出创建的报表可以预览,打印和导出到报表可以支持的格式。
这些在报表预览界面都可以实现。
图中数字说明:1:报表页2:工具栏3:状态栏4:概要区工具栏按钮说明:图标名称说明打印报表输出当前预栏报表到打印机打开报表从文件中(*.fr3)打开预览报表保存报表将当前预览的报表保存到文件中。
文字查询在报表预览中查询匹配文字放大放大显示预览缩小缩小显示预览全屏全屏显示预览概述页面设置编辑导出弹出下拉条选择可以支持的导出格式1、控制键快捷键描述Ctrl+S保存到文件中“*.fr3”Ctrl+P打印报表Ctrl+F文字查找F3继续查找Arrows移动报表PageUp,PageDown向上/向下滚动Ctrl+PageUp,PageDown 上一页/下一页滚动Home移到报表开始End移到报表结尾2、鼠标控制Action说明Left button鼠标状态为“小手”可以移动页面,在工具栏点击放缩按钮。
Right button弹出上下文右键菜单Double-click在全屏模式下双击还原到普通模式。
Mouse scroll滚动报表页面。
3、报表的打印点击工具栏打印机图标按钮,弹出打印机选项窗体。
设置相关选项,点击确定按钮,输出到打印机。
4、报表中的文字搜索FastReport可以在预览窗口进行文字的搜索。
在工具览点击查询按钮,弹出查找设置对话框:点击确定按钮,开始查找,找到相匹配的字符串进行高亮显示。
再按F3可以从当前位置向下继续查找上面设置的文字。
5、报表的导出FastReport可以将生成的报表到出导不同格式的文件中,可用于将来的修改。
如果要支持这些导出能力,需要将FastReport4exports组件面板上的组件放置到delphi的窗体上。
FastReport可以支持13格式的导出,他们是:PDF文件、HTML文件、RTF 文件、excel table(OLE)、XML格式、BMP图形、JPEG图形、TIFF图形、CSV 文件,GIF文件、文本文件、开放文本文件、开放表单文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
fastreport c#初级教程之报表设计器环境报表组件在开发环境中,可以通过鼠标双击TfrxReport组件,打开报表设计器环境。
设计器窗口提供给用户全部有关报表设计的工具,并同时提供预览功能。
报表设计器界面新颖。
包含几个工具栏,并且工具栏可以停靠镶嵌在任何你想停靠的地方,并随设计器其他配置属性保存在一个.Ini文件中,当再次打开时,恢复设计器的配置属性。
为了提供给用户运行期设计报表的功能,应该再添加“TfrxDesigner”或“frxDesgn”单元到Uses列表中。
这样用户就可以在运行期修改报表格式,又可以修改已经生成的报表内容信息。
注:根据报表的需要,你应该还需要添加其他的一些组件到表单上。
其他组件说明不在此介绍。
2图中标号说明:1——报表设计区域2——菜单栏3——工具栏4——报表对象工具栏5——报表分页标签6——报表树窗口7——对象属性窗口8——数据树窗口。
可以从此窗口拖曳到报表窗口9——尺标。
10——状态条13456789101.1、控制键控制键描述Ctrl+O“文件|打开…”菜单命令Ctrl+S“文件|保存”菜单命令Ctrl+P“文件|预览”菜单命令Ctrl+Z“编辑|撤销”菜单命令Ctrl+C“编辑|复制”菜单命令Ctrl+V“编辑|粘贴”菜单命令Ctrl+X“编辑|剪切”菜单命令Ctrl+A“编辑|全选”菜单命令Arrow,Tab对象切换Del删除被选择的对象Enter打开对象编辑器Shift+arrows改变对象的大小Ctrl+arrows移动对象位置Alt+arrows移动对象到附近对象的位置1.2、鼠标操作操作描述左键选择组件对象;添加新的组件对象;移动组件对象;改变组件的大小;对选中的对象通过组件的黑色方块可以改变组件的大小。
右键弹出选择组件对象的浮动菜单双击打开对象编辑器;通过在组件的中间位置双击鼠标左键,打开属性对话窗口。
鼠标滚轮滚动报表。
Shift+左键多选组件对象Ctrl+右键当你按着鼠标左键移动鼠标时,在窗口上划出一道方形窗口。
松开鼠标按键,则在方形窗口中的组件都被选中。
在被选中组件的中间位置,按住鼠标左键移动组件对象到相应的位置。
Alt+左键如果被选中的组件是“TEXT”,则组件处于输入状态。
1.3、工具栏1.3.1、设计模式工具栏组件工具栏和以下工具按钮。
图标名称描述对象选择标准模式下,选中对象,鼠标箭头方向改变组件大小。
手单击图标,托动报表窗口。
缩放单击鼠标左键,可以对当前窗口放大两倍(增加100%);右键单击鼠标,可以缩小当前窗口。
如果鼠标左键托划,则选择范围被放大。
文本编辑单击“TEXT”组件对象,允许编辑报表内容。
当按着鼠标左键在空白处拖划,松开鼠标键则在被选择范围产生一新的“Text”组件对象。
格式刷当“Text”对象被选中后,此按钮变成可操作状态。
鼠标左键单击“Text”对象时,则拷贝格式,再单击“Text”组件对象时则复制格式到对象上。
1.3.2、“标准”工具栏图标名称描述新报表创建新的空白报表打开报表打开已有的报表。
快捷键:Ctrl+O;保存报表保存报表到文件中。
快捷键:Ctrl+S;预览生成报表并进行预览。
快捷键:Ctrl+P;新页添加一新页到报表中。
新对话框添加一新的对话框表单到报表中。
删除页删除当前页。
页面配置打开页面属性配置窗口。
变量打开报表变量编辑器剪切剪切当前选择对象到粘贴板中。
快捷键:Ctrl+X复制复制当前选择对象到粘贴板中。
快捷键:Ctrl+C粘贴粘贴复制到粘贴板中的数据到报表中。
快捷键:Ctrl+V取消撤销最后的操作。
快捷键:Ctrl+Z重复重复最后的取消的操作。
快捷键:Ctrl+Y群组对选择的组件对象组合成一个整体取消群组将组合整体的组件分开成单个组件。
显示栅格在页上是否显示栅格。
栅格大小可以在视图——选项窗口中进行设置。
栅格对齐当移动组件或改变组件大小时,自动改变组件的大小对齐到栅格。
适配栅格改变组件大小时,组件自动和上个大小对齐。
缩放设置界面缩放大小。
1.3.3、“文本”工具栏图标名称描述样式允许选择一个样式。
定义样式列表,可在“报表|样式…”菜单栏中进行设置。
字体名称允许从下拉框中选择字体名称,保存最后应用五个可用的字体列表。
字体大小允许从字体大小下拉列表框中选择字体大小。
字体大小也可以用户输入。
粗体设置/取消字体粗体斜体设置/取消字体斜体下划线设置/取消字体下划线字体设置显示字体设置对话框。
字体颜色从下拉框中选择字体颜色。
高亮显示显示高亮显示文本属性对话框。
文本方向选择字体显示方向。
左对齐文本左对齐水平居中文本水平居中右对齐文本右对齐平均居中文本自适应组件宽度上对齐文本上对齐垂直居中文本垂直居中下对齐文本下对齐1.3.4、“边框”工具栏图标名称描述上边线设置|取消上边框线下边线设置|取消下边框线左边线设置|取消左边框线右边线设置|取消右边框线边框设置边框线没有变框取消边框线阴影设置|取消阴影背景颜色从下拉框中选择背景颜色边框颜色从下拉框中选择边框颜色。
外框样式从下拉框中选择线条样式边框宽度从下拉框中选择线条的宽度。
1.3.5、“对齐”工具栏图标名称描述左对齐组件左边对齐水平居中组件水平中间对齐右对齐组件右边对齐上对齐组件上边对齐垂直居中组件垂直中间对齐下对齐组件下边对齐水平均分组件位置水平均分垂直均分组件位置垂直均分水平居中组件水平居中垂直居中组件垂直居中相同宽度组件宽度设置成最大相同高度组件高度设置成最高1.4、设计选项通过“视图|选项”菜单条设置设计器选项。
在这设置需要的单位(毫米、英寸、像素)。
并设置栅格大小,也可以双击状态栏中左边的一个格,也是设置这一项。
你也可以设置单个是否显示,和栅格对齐。
也可以通过“标准”工具栏中的按钮进行设置。
你可以设置代码编辑器和文本编辑器的字体名称、大小、颜色等。
如果“使用对象的字体设置”被选中,则文本编辑器中的字体被“Text”组件的字体代替。
设计器工作区默认颜色为白色,并且可以通过工具空间和工具视窗改变颜色。
“LCD栅格颜色”,增强栅格线对比度,并改进可视性。
“插入后显示编辑器”当增加新的组件时进行选项控制。
如果被选中,增加新的组件时出现组件编辑器。
当添加最大数量的组件时,此选项取消。
“显示Band标题”选项取消选中,则Band标题不被显示。
“Show drop-down fields list”选项,决定“Text”组件按钮关联数据时,当鼠标在上边移动时是否显示下拉框显示可选择字段。
“自由摆置band位置”选项,决定是否粘连在报表页上。
此选项默认不被选中,Band可以分组显示在报表页上,Band之间的间隙可以通过“间距设置”设置。
1.5、报表设置通过“报表|选项”菜单条显示报表参数窗口,其中共有三个属性页。
第一页显示报表的一般性参数。
用户可以绑定报表到系统已安装的打印机中的一台。
意思是报表打印时默认使用绑定的打印机输出打印。
这一项当系统中有多个打印机时被使用。
例如:文本可以帮定输出到单色打印机,有图形的可以输出到彩色打印机。
打印机列表中“预设”打印机选项被选中,则报表不和任何打印机绑定,并且打印输出到系统默认得打印机上。
用户可以设置报表打印分数,打印份数显示在打印机选项的面板上。
如果“Double pass”选项被选中,报表的信息分为两项。
第一阶段,报表形成,并分开到页中,但结果不保存。
第二个阶段,标准报表信息保存到流文件中。
“print if empty”选项,决定报表空白时是否生成报表文件,如果选中,生成报表时显示空白报表。
“密码”项设置密码,当打开报表时需要输入密码。
第二页设置报表的继承性第三页用户设置报表属性描述1.6页面设置通过“文件|页面设置…”菜单条,或双击页面空白处,弹处页面设置对话框。
这个对话框共有两页:在第一个页面上,用户可以设置纸面大小,和纸面方向,还有页面边距。
在纸张来源的下拉框中选择第一页和其他页打印机的状态。
第二页设置分栏显示报表栏数、栏距和位置。
当前设置在设计器中显示。
“打印至前一页”允许用户打印报表,从上一页的空白处开始。
这个选项可用在一个报表有多个模板组成或批量打印时。
“伸展至打印区”选项打印奇页面时左右边界可以交换。
“Endless page width&height”选项根据多个数据报表增加页数。
这样可以看到一个大型报表数据代替多个报表页面。
“在设计模式使用大的纸张高度”选项增加页面高度。
同为比较常用的报表工具,FineReport的报表设计器相对于FastReport的,更为简单,上手也更容易一些,下面是FineReport报表设计器的简单展示:1.设计器概览下图是FineReport报表软件设计器的整体示例图:1.1模板管理面板所有通过FineReport设计器设计出来的模板全部保存在reportlets文件夹下,并显示在模板面板中。
1.2数据集面板数据集面板中展示的是数据集,数据集是指通过SQL语句,将数据库中的数据获取出来,作为模板数据的直接来源,数据集包括模板数据集和服务器数据集。
1.3模板预览方式预览方式是指查看模板时以哪种方式查看,在设计器预览方式按钮处,有三种预览方式,分页预览,填报预览,数据分析,如下图:默认预览方式为分页预览。
1.4报表主体报表主体是设计模板的主体界面,由上图可以看到,报表主设计界面是一个类似Excel的表格,支持无限行与无限列,基本的操作方法与Excel类似,简单容易。
在用FineReport设计报表时,只需理解一些与单元格绑定数据列有关的操作即可。
且这些操作都是后台的代码处理,基本不需要再手写表达式。
1.5参数界面是制作参数模板时放置查询控件的面板。
1.6数据列或图表属性面板如果选中的单元格中绑定的是数据集字段,则显示数据列属性,可对该字段进行一些简单设置,如果绑定单元格的是图表,则显示图表属性,对图标进行一系列的设置。
1.7单元格属性表对单元格的一些属性进行设置,包括扩展属性,样式,形态和其他属性。