FastReport VCL是用于 Delphi、C++ Builder、RAD Studio 和 Lazarus 的报告和文档创建 VCL 库。它提供了可视化模板设计器,可以访问 30 多种格式,并可以部署到云、网站、电子邮件和打印中。
下一个组件是 TfrxIBXTable。它继承自TfrxCustomDataSet标准类。所有基本功能(操作字段列表、主从、基本属性)都已经在基本类中实现了。我们只需要定义特定于特定组件的属性。
TfrxIBXTable = 类(TfrxCustomTable)
私人的
FDatabase:TfrxIBXDatabase;
FTable:TIBTable;
过程 SetDatabase(常量值:TfrxIBXDatabase);
受保护
过程通知(AComponent:TComponent;操作:TOOperation);覆盖;
过程集主(常量值:TDataSource);覆盖;
过程 SetMasterFields(const Value: String); 覆盖;
过程 SetIndexFieldNames(const Value: String); 覆盖;
过程 SetIndexName(const Value: String); 覆盖;
过程 SetTableName(const Value: String); 覆盖;
函数 GetIndexFieldNames:字符串;覆盖;
函数 GetIndexName:字符串;覆盖;
函数 GetTableName:字符串;覆盖;
上市
构造函数创建(AOwner:TComponent);覆盖;
构造函数 DesignCreate(AOwner: TComponent; Flags: Word); 覆盖;
类函数 GetDescription: String; 覆盖;
程序 BeforeStartReport;覆盖;
属性表:TIBTable读取FTable;
发表
属性数据库:TfrxIBXDatabase 读 FDatabase 写 SetDatabase;
结尾;
构造函数 TfrxIBXTable.Create(AOwner: TComponent);
开始
{ 创建组件 – 表 }
FTable := TIBTable.Create(nil);
{ 从基本类分配到 DataSet 属性的链接——不要忘记这个字符串!}
数据集:= FTable;
{ 默认分配连接到数据库的链接 }
设置数据库(无);
{ 之后可以调用基本构造函数}
遗传;
结尾;
{ 在向报告添加组件时调用此构造函数。如果它已经存在,它会自动将表连接到 TfrxIBXDatabase 组件。}
构造函数 TfrxIBXTable.DesignCreate(AOwner: TComponent; Flags: Word);
无功
i:整数;
l:TList;
开始
遗传;
l := Report.AllObjects;
对于 i := 0 到 l.Count - 1 做
如果 TObject(l[i]) 是 TfrxIBXDatabase 那么
开始
SetDatabase(TfrxIBXDatabase(l[i]));
休息;
结尾;
结尾;
类函数 TfrxIBXTable.GetDescription: String;
开始
结果 := 'IBX 表';
结尾;
{ 跟踪 TfrxIBXDatabase 组件删除。我们在 FDatabase 属性中解决了这个组件。否则我们可能会出错。}
程序 TfrxIBXTable.Notification(AComponent: TComponent; Operation: TOOperation);
开始
遗传;
如果 (Operation = opRemove) 和 (AComponent = FDatabase) 那么
设置数据库(无);
结尾;
过程 TfrxIBXTable.SetDatabase(const Value: TfrxIBXDatabase);
开始
{ TfrxIBXDatabase 类型的数据库属性,而不是 TIBDatabase 类型的数据库属性!}
FDatabase := 值;
{ 如果值 <> nil,将表连接到选定的组件 }
如果值 <> nil 那么
FTable.Database := Value.Database
{ 否则,尝试默认连接 DB,在 TfrxIBXComponents 组件中定义 }
否则如果 IBXComponents <> nil 那么
FTable.Database := IBXComponents.DefaultDatabase
{ 如果由于某种原因没有 TfrxIBXComponents,则重置为 nil }
别的
FTable.Database := nil;
{ 如果连接成功,则应放置 DBConnected 标志 }
DBConnected := FTable.Database <> nil;
结尾;
函数 TfrxIBXTable.GetIndexFieldNames: String;
开始
结果:= FTable.IndexFieldNames;
结尾;
函数 TfrxIBXTable.GetIndexName: 字符串;
开始
结果:= FTable.IndexName;
结尾;
函数 TfrxIBXTable.GetTableName: String;
开始
结果:= FTable.TableName;
结尾;
过程 TfrxIBXTable.SetIndexFieldNames(const Value: String);
开始
FTable.IndexFieldNames := 值;
结尾;
过程 TfrxIBXTable.SetIndexName(const Value: String);
开始
FTable.IndexName := 值;
结尾;
过程 TfrxIBXTable.SetTableName(const Value: String);
开始
FTable.TableName := 值;
结尾;
过程 TfrxIBXTable.SetMaster(const Value: TDataSource);
开始
FTable.MasterSource := 值;
结尾;
过程 TfrxIBXTable.SetMasterFields(const Value: String);
开始
FTable.MasterFields := 值;
FTable.IndexFieldNames := 值;
结尾;
{ 在某些情况下我们需要实现这个方法 }
程序 TfrxIBXTable.BeforeStartReport;
开始
设置数据库(FDatabase);
结尾;
如果您对 FastReport 动物,欢迎加入 FastReport QQ 交流群:702295239
还想要更多吗?您可以点击阅读【FastReport报表2021最新资源盘点】,查找需要的教程资源。上是FastReport .NET慧正在网火热销售中!>>查看价格详情
本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:FastReport控件中文网 [https://www.fastreportcn.com/]
本文地址:https://www.fastreportcn.com/post/3163.html
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:FastReport控件中文网 [https://www.fastreportcn.com/]
本文地址:https://www.fastreportcn.com/post/3163.html

联系电话:023-68661681

返回