【问题标题】:Disable detail dynamically on Delphi master/detail在 Delphi 主/详细信息上动态禁用详细信息
【发布时间】:2018-11-06 12:40:36
【问题描述】:

我有两份报告要重做。 第一个包含基本信息,第二个包含完全相同的内容以及更多信息。

两者都是使用 FastReport 和带有 TSqlQuery 和 TClientDataset 的 master/detail 制作的。

第一个有 3 个细节,第二个有 5 个。

有没有办法只制作一个报告文档并动态禁用详细信息?

Obs:我无法加载 TClientDataset 然后隐藏第一个报告中的元素,因为查询需要很长时间才能运行:加载第一个报告大约需要 30 秒,第二个报告大约需要 10 分钟。

【问题讨论】:

  • 您是否禁用了将 Master 连接到 Details 的 TDataSources?
  • @MartynA 对于所有 5 个 TSqlQuery,只有一个 TDataSouce,如果我禁用它,它就会全部关闭。
  • 除非我可以制作多个 TDataSource,dang,这可能会做到。谢谢
  • 如果您不知道,可以连接到主数据集的数据源数量没有限制。
  • @MartynA 幸福是短暂的,它没有用。它会自动重新激活,或者不是解决问题的选项。

标签: delphi master-detail fastreport


【解决方案1】:

感谢@MartynA 的帮助。

我设法做到了,但它比我认为应该做的工作要多。

  1. 清除 TSqlQuery 上的 DataSource 属性;
  2. 清除 TClientDataSet 上的 DataSetField 属性(详细);
  3. 从您的 TClientDataSet(主)中删除 DataSetField 上使用的字段;
  4. 如果您使用的是 FastReport,则 ClientDataSet 必须处于活动状态,因此您可以使用方法 CreateDataSet

【讨论】:

  • 很高兴你把它整理好了 - 我自己很少使用 FastReports。
猜你喜欢
  • 2010-12-06
  • 1970-01-01
  • 2015-08-20
  • 2014-07-23
  • 1970-01-01
  • 1970-01-01
  • 2012-11-17
  • 2014-04-13
  • 1970-01-01
相关资源
最近更新 更多