1

我是TDBGrid第一次使用。

我什至没有注意到Columns对象检查器中的属性,一切都很好:网格被填充了。

然后我看到了该Columns属性并尝试了它。当我使用对象昆虫器将项目添加到Columns网格的属性时,它们并没有全部显示在运行时。对我来说,财产似乎FieldName很重要。看起来是正确的,但某些列中没有值。

如果我将此属性留空(根本没有列),则控件似乎会在运行时自行填充它,并且我确实看到了所有列。我可以忍受。当我在运行时设置列标题时它可以工作,但设置列宽不起作用。


[更新] 感谢您的反馈。我正在慢慢学习。现在我看到了正在发生的事情。我想要计算五列中的三列。两个来自 INNER JOIN,第三个来自SELECT ... FROM_UNIXTIME(<table>.time_stamp).

如果我没有在设计时定义列,那么这些值会在我执行 SELECT 时在运行时填充。Cnn 有人告诉我如何在设计时进行设置吗?谢谢

4

2 回答 2

2

在 dbGrid 上定义列的最佳方法是双击数据集以创建表单知道的变量(持久字段)。您可以编辑这些变量的各种属性,例如 DisplayLabel、DisplayWidth 和 DisplayFormat。

您还可以通过双击客户端数据集时出现的对话框来添加计算字段。

于 2012-10-12T15:49:14.023 回答
2

运行时和设计时设置列之间的功能没有区别。即:可以在设计时完成的,也可以在运行时完成,反之亦然。

当 teColumns属性保持为空时,一旦打开数据集,网格默认使用它在链接数据集中找到的所有字段填充它。根据相应字段的类型、长度和名称,所有列特定设置,例如对齐方式、宽度、标题标题等...都设置为默认值。这是肯定就足够的懒惰方式。

出于以下一个或多个原因,您可能会考虑使用自己的设置或修改 columns 属性:

  • 更改它们必须出现在网格中的数据集字段的顺序,
  • 截断文本字段的宽度(尤其是长度较大的VarChar字段或Char字段通常会导致列太宽而无法正常呈现和/或用户交互),
  • 更改字段的对齐方式(通常数字字段默认右对齐),
  • 从数据集中隐藏一个或多个字段,
  • ETC...

这些自己的设置可以在设计时和运行时完成。

使用设计时列编辑器是需要这些自定义的首选和 RAD 方式。通过双击网格或属性,或通过网格的上下文菜单打开编辑器。如果链接的数据集处于活动状态,则启用添加所有字段的命令,这与您根本没有选择任何字段完全相同,即第二段中描述的默认行为。

于 2012-10-12T21:28:50.810 回答