1

如果我有两个都来自 的数据集TCustomClientDataset,我可以在另一个上调用CloneCursor一个,并对相同的数据有一个独立的视图。该文档表明,您可以通过使用 a 来实现基本相同的目标TDatasetProvider,只是源数据集可以是任何数据集。

我正在努力完成这项工作。我有一个TSimpleDataset(我们称之为A)从数据库中读取数据,还有一个 TClientDataset(我们称之为B)与它的单独视图一起工作,并且有一个TDBGrid连接到B.

如果我调用B.CloneCursor(A, ...),网格会显示A. 但是,如果我创建 aTDatasetProvider并将其Dataset属性设置为A,然后将其设置为 的提供者B,则连接到的网格B仅显示一行,而不是全部。

我做错了什么,我该如何解决它以便网格最终显示所有A

4

1 回答 1

1

在调试器中进行了很多探索之后,我设法追踪到了这一点。打开数据集会通过提供者拉取数据,但它不会First首先调用源数据集。由于程序中其他地方的原因,源数据集位于最后一行,所以在它命中之前我只得到了一行EOFFirst事先明确调用可以解决问题。

于 2012-09-16T01:55:31.953 回答