2010-06-01 72 views
0

我在Delphi 6中创建了一个DBGrid,并将其绑定到DataModule中包含的DataSource。该源的数据集也位于同一模块中。在窗体的OnShow事件中,激活数据集并为数据集设置一个等于行数的标签。这显示了几百行,但没有显示在dbgrid中。如果我在IDE中激活数据集,网格将填充预期数据。有没有人知道为什么这种行为会在IDE和普通运行时间之间改变?我们也使用SDAC连接组件。如何让数据集在Delphi 6中将数据填充到dbgrid中?

所有第三方组件选择都不是我的改变。

我可以详细说明澄清,但我主要需要排除故障的想法来开始。

回答

2

我在D6中多次观察到数据控件在运行时可能会丢失它们的设置,尤其是那些将一个控件与另一个控件相关联的设置。您可能希望在激活数据源之前尝试在OnShow代码中明确设置相关名称。

+0

我在OnShow代码中添加了一个显式集合,它似乎工作,是否有任何已知的原因导致这些设置丢失? – 2010-06-01 15:46:51

+0

@ChrisJ我从来没有发现过。这也很难一贯地重现(但随着应用程序变得越来越大,似乎更频繁地发生),所以我从未围绕提交错误报告。 – 2010-06-01 15:48:25

+0

与项目实例化表单的顺序有什么关系? – 2010-06-01 15:56:34

1

我还没有和delphi一起工作了几年,但我记得如果数据集在设计时保持active = true,数据源属性有时会丢失。

+0

此外,您应该在应用程序启动时以编程方式设置这些属性... – pcent 2010-06-01 16:57:50

+0

编译它时它不是活动的。 – 2010-06-01 17:09:26