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