如果我有两个同时来自TCustomClientDataset
的数据集,我可以在另一个上有一个调用CloneCursor
,并且拥有相同数据的独立视图。除了源数据集可以是任何数据集之外,文档看起来您可以使用TDatasetProvider
实现基本相同的事情。
我正在尝试做这项工作。我有一个TSimpleDataset
(让我们称之为A
)从数据库中读取数据,还有一个TClientDataset(我们称之为B
),它与单独的视图一起工作,并且有一个TDBGrid
与B
相关联。
如果我拨打B.CloneCursor(A, ...)
,网格会显示A
中的所有记录。但是,如果我创建TDatasetProvider
并将其Dataset
属性设置为A
,然后将其设置为B
的提供者,则网格仅连接到B
显示一行,而不是全部。
我做错了什么,如何修复它以便网格最终显示所有A
?
答案 0 :(得分:1)
在调试器中进行了大量的调试之后,我设法跟踪了这一点。打开数据集会通过提供程序提取数据,但不会首先在源数据集上调用First
。由于程序中其他地方的东西,源数据集已经在最后一行,所以我只有一行才能达到EOF
。事先明确调用First
可以解决问题。