Klasa CRecordView jest klasą widoku prezentującego rekordy
bazy danych wewnątrz kontrolek dialogowych. Ten typ widoku jest
bezpośrednio powiązany z klasą zbioru rekordów
CRecordset. Widok
jest tworzony w oparciu o skrypt zasobów i wyświetla zawartość
pojedynczego rekordu bazy danych w kontrolkach dialogowych. Używa przy
tym mechanizmów dynamicznej wymiany danych DDX oraz RFX aby
zautomatyzować proces przesyłania danych pomiędzy obiektem CRecordset
a kontrolkami dialogowymi. Klasa CRecordView zapewnia również
mechanizmy do przemieszczania się do następnego, poprzedniego,
pierwszego i ostatniego rekordu w bazie, a także mechanizmy pozwalające
na zapis do bazy aktualnej zawartości kontrolek.
Uwaga:
Jeśli przewidujemy obsługę bazy danych w oparciu o bibliotekę
DAO, należy skorzystać z bliźniaczej klasy CDaoRecordView.
Klasa CRecordView jest dedykowana do obsługi baz danych przez mechanizm
ODBC.
Najczęściej stosowaną metodą utworzenia formularza z rekordami jest
użycie narzędzia AppWizard. AppWizard generuje obiekt klasy CRecordView
oraz związany z nim obiekt klasy CRecordset automatycznie, zapewniając
właściwe powiązania odpowiednich pól. Można również wykorzystać narzędzie
ClassWizard w celu oddzielnego utworzenia a następnie połączenia obiektów
typu CRecordset oraz CRecordView. Takie rozwiązanie pozwala ponadto utworzyć
wiele formularzy dla tego samego obiektu CRecordset.
Aby uprościć przemieszczanie się po rekordach (następny, poprzedni,
ostatni, pierwszy) AppWizard tworzy oddzielne menu w pasku menu okna głównego
z automatycznie obsługiwanymi odpowiednimi poleceniami. Podobnie
automatycznie tworzone są przyciski na pasku narzędzi. Jeśli obiekt
CRecordView tworzy się za pomocą narzędzia ClassWizard, elementy te
należy dodać samemu.
Obiekt klasy CRecordView przechowuje informacje o aktualnym położeniu
użytkownika w zbierze rekordów, więc widok zawsze odzwierciedla automatycznie
zawartość aktualnego rekordu. Również automatycznie obsługiwane jest blokowanie
poleceń w menu, które w danej sytuacji nie są dostępne (np. polecenie
"Następny rekord" w sytuacji, gdy jesteśmy na ostatnim).
Konstruowanie
| Metody | Opis |
|---|---|
| CRecordView | Tworzy obiekt typu CRecordView. |
| Metody | Opis |
|---|---|
| OnGetRecordset | Zwraca wskaźnik do związanego obiektu klasy CRecordset. ClassWizard domyślnie pokrywa tę metodę i tworzy odpowiedni obiekt CRecordset jeśli zachodzi konieczność. |
| IsOnFirstRecord | Zwraca wartość niezerową jeśli aktualny rekord jest pierwszym w zbiorze. |
| IsOnLastRecord | Zwraca wartość niezerową jeśli aktualny rekord jest ostatnim w zbiorze. |
| Metody | Opis |
|---|---|
| OnMove | Jeżeli aktualny rekord został zmieniony poprzez kontrolki, auktualnia dane w bazie. Następnie przesuwa do wybranego rekordu. |
CWnd, CView, CScrollView, CFormView, CRecordset