彩票走势图

logo FastReport中文文档

报告和引擎对象


FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案,使用FastReport .NET可以创建独立于应用程序的.NET报表,同时FastReport .Net支持中文、英语等14种语言,可以让你的产品保证真正的国际性。

FastReport.NET官方版下载

除了报告中包含的对象外,脚本中还定义了两个变量:报告和引擎。

报告变量指的是当前的报告。在下面的列表中,列出了报告对象的方法:

Method Description
object Calc(string expression) 计算表达式并返回值。首次调用此方法时,表达式将被编译,这需要一些时间。
object GetColumnValue(string complexName) 返回数据列的值。列名必须以 "DataSource.Column "形式显示。如果列的值为空,则默认将其转换为一个值(0、空字符串、false)。
object GetColumnValueNullable(string complexName) 返回数据列的值。与前一个方法相反,它不会转换为默认值,也可能为空。
Parameter GetParameter(string complexName) 返回具有指定名称的报告参数。在引用嵌套参数时,名称可以是复合的:"MainParam.NestedParam"。
object GetParameterValue(string complexName) 返回具有指定名称的报告参数的值。
void SetParameterValue(string complexName, object value) 设置指定名称的报告参数值。
object GetVariableValue(string complexName) 返回系统变量的值,例如 "Date"。
object GetTotalValue(string name) 按名称返回 "Data"窗口中定义的总计值。
DataSourceBase GetDataSource(string alias)

按名称返回报表中定义的数据源

引擎对象是一个控制报告创建的引擎。通过使用引擎的方法和属性,可以管理在页面上放置波段的过程。您可以使用引擎对象的以下属性:

Property Description
float CurX 当前 X 轴坐标。可以为该属性赋值,以便移动打印对象。
float CurY 当前在 Y 轴上的打印位置。可以为该属性赋值,以移动打印对象。
int CurColumn 多栏报表中当前列的编号。第一列的编号为 0
int CurPage 打印页面的编号。该值可从系统变量 "Page "中获取。
float PageWidth 页面宽度减去左右页边距。
float PageHeight 页面高度减去上下页边距。
float PageFooterHeight 页面页脚(及其所有子带)的高度
float ColumnFooterHeight 栏脚(及其所有子带)的高度。
float FreeSpace 页面可用空间的大小。
bool FirstPass 如果正在执行第一次(或唯一一次)报告传递,则返回 true。可通过 Report.DoublePass 属性获取传递次数。
bool FinalPass 如果正在执行最后一次(或唯一一次)报告传递,则返回 true。
在下图中,你可以看到上面列出的一些属性的含义。

fastreport

Engine.PageWidth 和 Engine.PageHeight 属性决定打印区域的大小,几乎总是小于页面的实际大小。打印区域的大小由页边距决定,页边距由 LeftMargin、TopMargin、RightMargin 和 BottomMargin 页面属性给出。

Engine.FreeSpace 属性决定页面上可用空间的高度。如果页面上有 ""Report footer" "带,则在计算 FreeSpace 时会考虑其高度。请注意,打印页边框后,可用空间会减少。

如何形成准备好的报告页面?

FastReport 引擎在页面上显示条带,直到有足够的空间进行条带输出。当没有可用空间时,将打印 "报告页脚 "条带并形成新的空页。显示条带从当前位置开始,当前位置由 X 和 Y 坐标决定。该位置由 Engine.CurX 和 Engine.CurY 属性重新调整。打印带状图后,CurY 会自动按打印带状图的高度增加。打印多栏报表时,CurX 的位置会发生变化。

Engine.CurX 和 Engine.CurY 属性不仅可用于读取,也可用于写入。这意味着您可以通过使用一个合适的事件来手动移动条带。使用这些属性的示例请参见 "示例 "部分。

在使用返回尺寸或位置的属性时,请记住这些属性是以屏幕像素为单位的。

点击复制

引擎对象中定义了以下方法:
Method Description
void AddOutline(string text) 在报告大纲中添加元素(请参阅 "交互式报告 "章节),并将当前位置设置为添加的元素。
void OutlineRoot() 设置大纲根部的当前位置。
void OutlineUp() 将当前位置移动到更高层次的大纲元素上。
void AddBookmark(string name) 添加书签(请参阅 "交互式报告 "章节)
int GetBookmarkPage(string name) 返回书签所在页码。
void StartNewPage() 开始一个新页面。如果报表是多栏报表,则开始新的一栏。

通过使用 AddOutline、OutlineRoot 和 OutlineUp 方法,可以手动创建报告大纲。通常,这都是借助 OutlineExpression 属性自动完成的,每个波段和报表页面都有 OutlineExpression 属性。

AddOutline 方法为当前大纲元素添加一个子元素,并使其成为当前元素。当前的报告页面和页面上的当前位置都与新元素相关联。如果多次调用 AddOutline 方法,就会产生如下结构:

Item1
    Item2
        Item3

点击复制


为了控制当前元素,有 OutlineUp 和 OutlineRoot 方法。第一个方法将指针移到位于更高层的元素上。因此,脚本:

Engine.AddOutline("Item1");
Engine.AddOutline("Item2");
Engine.AddOutline("Item3");
Engine.OutlineUp();
Engine.AddOutline("Item4");

点击复制

将创建以下大纲:
Item1
    Item2
        Item3
        Item4

点击复制

OutlineRoot 方法会将当前元素移动到大纲的根部。例如,下面的脚本:
Engine.AddOutline("Item1");
Engine.AddOutline("Item2");
Engine.AddOutline("Item3");
Engine.OutlineRoot();
Engine.AddOutline("Item4");

点击复制

将创建以下大纲:

Item1
    Item2
        Item3
Item4

点击复制


在处理书签时,需要使用引擎对象的 AddBookmark 和 GetBookmarkPage 方法。通常,书签会在使用书签属性时自动添加,报告的所有对象都有该属性。

通过使用 Add Bookmark 方法,可以以编程方式添加书签。该方法会在当前页面的当前打印位置创建一个书签。

GetBookmarkPage 方法会返回书签所在的页码。该方法通常用于创建目录,以显示页码。在这种情况下,报告必须有双通道。

扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP