【问题标题】:DataModule Organization数据模块组织
【发布时间】:2012-03-09 01:01:14
【问题描述】:

我在一个数据模块上显示了一堆 TTable 和 TSQL 组件。如果我在表单上有这些组件,我可以将相关的 ttable 图标放在面板上,或者在它们旁边放一个标签,这样我就可以对它们进行分组,使它们更容易找到/组织化。 TDataModule 不允许其上有可见组件。有什么方法可以让我将 TTables/TSQL 组件彼此靠近放置,并在它们附近放置某种描述性条目(例如标签),以便我可以更轻松地找到它们?

谢谢

【问题讨论】:

  • 您确实打开了 显示组件标题 设计器选项,不是吗?
  • @AndriyM 这是 表单设计器 的选项,不是吗?组件标题始终显示在数据模块上。
  • @NGLN:你说得对,我似乎完全忘记了这一点。我最近从事的项目从不使用数据模块。谢谢指正。

标签: delphi grouping datamodule


【解决方案1】:

您可以将其拆分为单独的 DataModule,将相关的数据集放在每个上。也许其中一个会包含其他人会引用的连接组件。

【讨论】:

  • +1 我通常有一个“数据库数据模块”和许多其他数据模块,每个模块都包含几个相关表和查询的组。每个“表/查询”数据模块都使用“数据库数据模块”来获取数据库连接。表单使用他们需要的所有表/查询数据模块,除非他们想直接访问连接(应该是例外情况),否则不会打扰“数据库数据模块”。
【解决方案2】:

您当然可以将它们组合在一起,只需将它们视觉上靠得很近,并在多个组之间留出一些空间。 DataModule 是一个非可视化容器,因此可以根据需要将其设置为任意大小,您只会在设计时看到。

不过,没有办法标记这些组。

【讨论】:

    【解决方案3】:

    也许你可以继承和注册一个无用的TComponent死者,给它一个醒目的图标,然后把它当作一个组标签。将该组件放在视觉上分隔(由空格)组的顶部/按钮中,并使用其名称来描述该组

    您可以在这篇文章中找到有关创建此组件和设置图像的更多信息: delphi non visual component image

    【讨论】:

      【解决方案4】:

      您还可以动态创建所有组件(在数据模块中),我们有很多机会自定义代码 - 例如 {$REGION 'custom region name'}//任何代码{$ENDREGION}、cmets 和代码格式。 SQL 文本可以作为资源(或 xml 或数据库)插入到应用程序中,以便简单地分配给动态创建的组件。

      当我们通过 IDE 更改某些组件属性时,确实很难在大量非可视组件中发现差异。我在一个数据模块中有超过 100 个非可视组件......它们在视觉上分组,但这并不方便。 如果将动态创建所有组件,我将获得更多代码行,但这可以通过通用构造过程来避免。 但我很容易找到所有相似组件的差异。

      【讨论】:

        猜你喜欢
        • 2011-05-05
        • 2023-03-28
        • 1970-01-01
        • 1970-01-01
        • 2012-04-25
        • 1970-01-01
        • 1970-01-01
        • 2018-01-08
        • 2023-03-18
        相关资源
        最近更新 更多