2012-09-15 51 views
1

如果我有兩個數據集都是從TCustomClientDataset開始的,我可以在另一個電話上撥打CloneCursor,並且可以獨立查看相同的數據。通過使用TDatasetProvider,文檔似乎可以達到基本相同的效果,但源數據集可以是任何數據集。如何通過TDatasetProvider檢索所有記錄?

我正在努力使這項工作。我有一個從數據庫讀取數據的TSimpleDataset(我們稱之爲A)和一個TClientDataset(我們稱之爲B),它可以單獨查看它,並且有一個連接到BTDBGrid

如果我打電話B.CloneCursor(A, ...),網格會顯示A中的所有記錄。但是,如果我創建TDatasetProvider並將它的Dataset屬性設置爲A,然後將其設置爲B的提供者,則連接到B的網格僅顯示一行,而不是全部顯示。

我在做什麼錯,我該如何解決它,以便網格最終顯示所有A

+0

第二種方法沒有問題。我嘗試了'TADODataSet'和''A'的TSimpleDataSet'。 – NGLN

回答

1

在調試器中發現了很多東西之後,我設法跟蹤了這一點。打開數據集將通過提供者提取數據,但它不會首先在源數據集上調用First。由於程序中的其他地方,源數據集已位於最後一行,所以我只得到一行,然後打到EOF。明確地調用First事先修復問題。

+1

天哪,不知道是否稱這是一個錯誤或功能。我想這兩件事都可以說...... –

相關問題