TADODataSet
-
Guten Morgen,
weiß zufällig jemand wie man in einem Dataset eine Zeile, eins nach vorne oder nach hinten schiebt ?
Und wenn ich die Funktionen First() oder Next() benutze möchte ich gerne das mir nicht immer der Cursor mitspringt.
Danke schonmal
-
volvic schrieb:
Guten Morgen,
...
Und wenn ich die Funktionen First() oder Next() benutze möchte ich gerne das mir nicht immer der Cursor mitspringt.
Danke schonmal
Also ich baue mir da immer eine eingebettete Klasse, die die DataSource des Controls im RAII-Stil bei Bewegungen abklemmnt
private: // Anwender-Deklarationen template<typename T> class ListSuppressDataSource // as RAII: Scrollen des Grids beim Befüllen unterdrücken { T t; TDataSource* src; public: ListSuppressDataSource(T& t_) : t(t_), src(t_->DataSource) { t->DataSource = 0; } ~ListSuppressDataSource() { t->DataSource = src; } };und dann in der Verwendung
//=========================================================================== // // Terminliste befüllen // //=========================================================================== void TufrmWIImport::FillList() { cdsD->Close(); cdsD->Open(); ListSuppressDataSource<TDBGrid*> lss(grdD); typedef set<ProjectImportMerger::Termin>::const_iterator dittype; String currentAU; bool currentChanged; for (dittype it = dates.begin(); it != dates.end(); ++it) { //usw