Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megjegyzés:
A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.
Az adatbázisrekordokat vezérlőkben megjelenítő nézet.
Szemantika
class AFX_NOVTABLE CRecordView : public CFormView
Tagok
Védett konstruktorok
| Név | Description |
|---|---|
| CRecordView::CRecordView | Egy CRecordView objektumot hoz létre. |
Nyilvános metódusok
| Név | Description |
|---|---|
| CRecordView::IsOnFirstRecord | Nonzero értéket ad vissza, ha az aktuális rekord a társított rekordhalmaz első rekordja. |
| CRecordView::IsOnLastRecord | Nonzero értéket ad vissza, ha az aktuális rekord a társított rekordhalmaz utolsó rekordja. |
| CRecordView::OnGetRecordset | Egy mutatót ad vissza egy osztály objektumához, amelyből CRecordsetszármazik. A ClassWizard felülbírálja ezt a függvényt, és szükség esetén létrehozza a rekordhalmazt. |
| CRecordView::OnMove |
Védett metódusok
| Név | Description |
|---|---|
| CRecordView::OnMove | Ha az aktuális rekord megváltozott, frissítse az adatforráson, majd lépjen a megadott rekordra (következő, előző, első vagy utolsó). |
Megjegyzések
A nézet egy objektumhoz CRecordset közvetlenül kapcsolódó űrlapnézet. A nézet egy párbeszédpanelsablon-erőforrásból jön létre, és megjeleníti az CRecordset objektum mezőit a párbeszédpanelsablon vezérlőiben. Az CRecordView objektum párbeszédpaneles adatcsere (DDX) és rekordmezőcsere (RFX) használatával automatizálja az adatok áthelyezését az űrlap vezérlői és a rekordhalmaz mezői között.
CRecordView Emellett egy alapértelmezett implementációt is biztosít az első, a következő, az előző vagy az utolsó rekordra való áttéréshez, valamint egy felületet a jelenleg nézetben lévő rekord frissítéséhez.
Megjegyzés:
Ha az Open Database Connectivity (ODBC) osztályok helyett az Adatelérési objektumok (DAO) osztályokkal dolgozik, használja helyette a CDaoRecordView osztályt . További információ: Áttekintés: Adatbázis-programozás.
A rekordnézet létrehozásának leggyakoribb módja az Alkalmazás varázsló. Az Alkalmazás varázsló a rekordnézeti osztályt és a hozzá tartozó rekordhalmazosztályt is létrehozza a csontváz-kezdőalkalmazás részeként. Ha nem az Alkalmazás varázslóval hozza létre a rekordnézeti osztályt, később a ClassWizard használatával is létrehozhatja. Ha egyszerűen csak egyetlen űrlapra van szüksége, az Alkalmazásvarázsló megközelítése egyszerűbb. A ClassWizard lehetővé teszi, hogy a fejlesztési folyamat későbbi részében rekordnézetet használjon. A Legrugalmasabb módszer a ClassWizard használata egy rekordnézet és egy rekordhalmaz külön-külön történő létrehozásához, majd összekapcsolásához, mivel így jobban szabályozhatja a rekordhalmazosztály és annak elnevezését. H/. CPP-fájlok. Ezzel a módszerrel több rekordnézetet is használhat ugyanazon a rekordhalmaz-osztályon.
Annak érdekében, hogy a végfelhasználók a rekordról rekordra léphessenek a rekord nézetben, az Alkalmazás varázsló menübeli (és opcionálisan eszköztár) erőforrásokat hoz létre az első, a következő, az előző vagy az utolsó rekordra való áthelyezéshez. Ha a ClassWizard használatával hoz létre rekordnézet-osztályt, ezeket az erőforrásokat saját maga kell létrehoznia a menüvel és a bitképszerkesztőkkel.
A rekordról rekordra való áthelyezés alapértelmezett implementációjáról további információt a Rekordnézet használata című cikkben talál IsOnFirstRecordIsOnLastRecord.
CRecordView nyomon követi a felhasználó pozícióját a rekordhalmazban, hogy a rekordnézet frissíthesse a felhasználói felületet. Amikor a felhasználó a rekordhalmaz bármelyik végére kerül, a rekordnézet letiltja a felhasználói felület objektumait – például a menüelemeket vagy az eszköztárgombokat – az azonos irányba való továbblépéshez.
A rekordnézetek és rekordhalmazosztályok deklarálásával és használatával kapcsolatos további információkért tekintse meg a Rekordnézetek című cikk "Rekordnézet tervezése és létrehozása" című szakaszát. A rekordnézetek működésével és használatuk módjával kapcsolatos további információkért tekintse meg a Rekordnézet használata című cikket.
Öröklési hierarchia
CRecordView
Requirements
Fejléc: afxdb.h
CRecordView::CRecordView
Amikor létrehoz egy olyan típusú objektumot, amelyből CRecordViewszármazik, hívja meg a konstruktor bármelyik formáját a nézetobjektum inicializálásához, és azonosítsa a nézet alapjául szolgáló párbeszédpanel-erőforrást.
explicit CRecordView(LPCTSTR lpszTemplateName);
explicit CRecordView(UINT nIDTemplate);
Paraméterek
lpszTemplateName
Null értékű sztringet tartalmaz, amely egy párbeszédpanelsablon-erőforrás neve.
nIDTemplate
Egy párbeszédpanelsablon-erőforrás azonosítószámát tartalmazza.
Megjegyzések
Azonosíthatja az erőforrást név alapján (egy sztringet átadhat argumentumként a konstruktornak), vagy annak azonosítója alapján (argumentumként átadhat egy aláíratlan egész számot). Az erőforrás-azonosító használata ajánlott.
Megjegyzés:
A származtatott osztálynak saját konstruktort kell adnia. A származtatott osztály konstruktorában hívja meg argumentumként az erőforrásnévvel vagy -azonosítóval rendelkező konstruktort CRecordView::CRecordView az alábbi példában látható módon.
CRecordView::OnInitialUpdate hívások UpdateData, amelyek meghívják DoDataExchange. Ez a DoDataExchange kezdeti hívás vezérlőket CRecordView (közvetetten) csatlakoztat a ClassWizard által létrehozott mezőadat-tagokhoz CRecordset . Ezek az adattagok csak az alaposztálytag CFormView::OnInitialUpdate függvény meghívása után használhatók.
Megjegyzés:
A ClassWizard használata esetén a varázsló meghatároz egy enum értéket CRecordView::IDD, megadja azt az osztálydeklarációban, és a konstruktor tag inicializálási listájában használja.
Example
CMyRecordView::CMyRecordView()
: CRecordView(CMyRecordView::IDD)
{
m_pSet = NULL;
// TODO: add construction code here
}
CRecordView::IsOnFirstRecord
Hívja meg ezt a tagfüggvényt annak meghatározásához, hogy az aktuális rekord-e az első rekord a rekordnézethez társított rekordhalmaz-objektumban.
BOOL IsOnFirstRecord();
Visszaadott érték
Nonzero, ha az aktuális rekord az első rekord a rekordhalmazban; egyéb esetben 0.
Megjegyzések
Ez a függvény hasznos a ClassWizard által írt alapértelmezett parancsfrissítés-kezelők saját implementációinak megírásához.
Ha a felhasználó az első rekordra kerül, a keretrendszer letiltja az első vagy az előző rekordra való áthelyezéshez használt felhasználói felületi objektumokat.
CRecordView::IsOnLastRecord
Hívja meg ezt a tagfüggvényt annak megállapításához, hogy az aktuális rekord-e az utolsó rekord a rekordnézethez társított rekordhalmaz-objektumban.
BOOL IsOnLastRecord();
Visszaadott érték
Nonzero, ha az aktuális rekord az utolsó rekord a rekordhalmazban; egyéb esetben 0.
Megjegyzések
Ez a függvény a ClassWizard által írt alapértelmezett parancsfrissítés-kezelők saját implementációinak megírásához hasznos, hogy támogassa a rekordról rekordra való áthelyezés felhasználói felületét.
Caution
Ennek a függvénynek az eredménye megbízható, azzal a kivételével, hogy a nézet nem tudja észlelni a rekordhalmaz végét, amíg a felhasználó nem lépi át azt. A felhasználónak túl kell lépnie az utolsó rekordon, mielőtt a rekordnézet megállapítaná, hogy le kell tiltania a felhasználói felület objektumait a következő vagy az utolsó rekordra való áthelyezéshez. Ha a felhasználó túllépi az utolsó rekordot, majd visszalép az utolsó rekordra (vagy előtte), a rekordnézet nyomon követheti a felhasználó pozícióját a rekordhalmazban, és megfelelően letilthatja a felhasználói felület objektumait.
IsOnLastRecord az implementálási függvény OnRecordLastmeghívása után is megbízhatatlan, amely a ID_RECORD_LAST parancsot kezeli, vagy CRecordset::MoveLast.
CRecordView::OnGetRecordset
A rekordnézethez társított -származtatott objektumra mutató mutatót CRecordsetad vissza.
virtual CRecordset* OnGetRecordset() = 0;
Visszaadott érték
Mutató egy CRecordset-származtatott objektumra, ha az objektum sikeresen létrejött, ellenkező esetben NULL mutató.
Megjegyzések
Felül kell bírálnia ezt a tagfüggvényt egy rekordhalmaz-objektum létrehozásához vagy beszerzéséhez, és vissza kell adnia egy mutatót. Ha a ClassWizard használatával deklarálja a rekordnézeti osztályt, a varázsló egy alapértelmezett felülbírálást ír Önnek. A ClassWizard alapértelmezett implementációja a rekordnézetben tárolt rekordhalmazmutatót adja vissza, ha létezik ilyen. Ha nem, létrehoz egy, a ClassWizardtal megadott típusú rekordhalmaz-objektumot, és meghívja annak tagfüggvényét Open a tábla megnyitásához vagy a lekérdezés futtatásához, majd visszaad egy mutatót az objektumhoz.
További információkért és példákért tekintse meg a Rekordnézetek: Rekordnézet használata című cikket.
CRecordView::OnMove
Ennek a tagfüggvénynek a meghívásával lépjen egy másik rekordra a rekordhalmazban, és jelenítse meg a mezőit a rekordnézet vezérlőiben.
virtual BOOL OnMove(UINT nIDMoveCommand);
Paraméterek
nIDMoveCommand
A következő szabványos parancsazonosító-értékek egyike:
ID_RECORD_FIRST Ugrás a rekordhalmaz első rekordra.
ID_RECORD_LAST Ugrás a rekordhalmaz utolsó rekordjára.
ID_RECORD_NEXT Ugrás a következő rekordra a rekordhalmazban.
ID_RECORD_PREV Ugrás az előző rekordra a rekordhalmazban.
Visszaadott érték
Nonzero, ha az áthelyezés sikeres volt; ellenkező esetben 0, ha az áthelyezési kérelmet elutasították.
Megjegyzések
Az alapértelmezett implementáció meghívja CRecordset a rekordnézethez társított objektum megfelelő Move tagfüggvényét.
Alapértelmezés szerint frissíti az adatforrás aktuális rekordját, OnMove ha a felhasználó módosította azt a rekordnézetben.
Az Alkalmazás varázsló létrehoz egy menüerőforrást az Első rekord, az Utolsó rekord, a Következő rekord és az Előző rekord menüelemekkel. Ha a Rögzíthető eszköztár lehetőséget választja, az alkalmazásvarázsló emellett létrehoz egy eszköztárat is, amelyen a parancsoknak megfelelő gombok találhatók.
Ha a rekordhalmaz utolsó rekordja mellett lép át, a rekordnézet továbbra is az utolsó rekordot jeleníti meg. Ha visszafelé halad az első rekordnál, a rekordnézet továbbra is az első rekordot jeleníti meg.
Caution
A hívás OnMove kivételt eredményez, ha a rekordhalmaz nem rendelkezik rekordokkal. A megfelelő áthelyezési művelet előtt hívja meg a megfelelő felhasználói felületi frissítéskezelő függvényt OnUpdateRecordFirstOnUpdateRecordLast– , vagy OnUpdateRecordNextOnUpdateRecordPrev – annak megállapításához, hogy a rekordhalmaz rendelkezik-e rekordokkal.
Lásd még
CFormView osztály
hierarchiadiagram
CRecordset osztály
CFormView osztály