gpt4 book ai didi

Delphi 网格每行具有不同的数据类型,动态显示

转载 作者:行者123 更新时间:2023-12-03 15:46:45 25 4
gpt4 key购买 nike

我正在尝试创建一个 Delphi 网格,以允许在数据库网格中显示和编辑每行可能具有不同数据类型的数据。我想显示每种数据类型的特定控件,例如当数据类型为 DateTime 时,我想显示自定义编辑控件,该控件允许输入日期或弹出日历。

数据看起来像这样:

Name   DataType   DateValue   StringValue   BooleanValue     
---------------------------------------------------------
A Date 1/1/2007
B String asdf
C Boolean True

...在数据库中,该表为每种可能的值类型有一列。因此,有一个 BooleanValue 列、DateValue 等。

我想要做的是在网格中显示一个“值”列,该列根据该行的“数据类型”显示适当的编辑控件。因此,网格应该如下所示:

Name   DataType   Value     
---------------------------
A Date 1/1/2007
B String asdf
C Boolean True

看来我需要根据DataType的值动态地为每行显示不同的编辑控件(以允许用户编辑Value列)柱子。我知道有更先进的网格可以处理此类问题,但是除了 Delphi 开箱即用的功能外,他们不允许任何其他功能。

关于如何使这样的事情发挥作用有什么想法吗?

最佳答案

就我个人而言,在这种情况下,我不会直接在 TDBGrid 内进行编辑,因为您的表没有进行数据库标准化(实际上我在任何情况下都不使用它)。我会使用计算字段来显示网格中的所需值,并在表单上为每个字段类型动态创建TDBxxxEdit(您自己的怎么样? >TDBTreeEdit 例如,TDBrichEdit 或 DB Image 拾取编辑器等...?)。

如果您确实想在TDBGrid上使用自己的控件,并替换默认的TInplaceEdit编辑器,您可以引用以下文章:Adding components to a DBGrid ,以及相关文章:Displaying and editing MEMO fiels in Delphi's TDBGrid

关于Delphi 网格每行具有不同的数据类型,动态显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10077913/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com