Share via


Kelas CRecordView

Tampilan yang menampilkan rekaman database dalam kontrol.

Sintaks

class AFX_NOVTABLE CRecordView : public CFormView

Anggota

Konstruktor yang Dilindungi

Nama Deskripsi
CRecordView::CRecordView Membuat CRecordView objek.

Metode Publik

Nama Deskripsi
CRecordView::IsOnFirstRecord Mengembalikan bukan nol jika rekaman saat ini adalah rekaman pertama dalam kumpulan rekaman terkait.
CRecordView::IsOnLastRecord Mengembalikan bukan nol jika rekaman saat ini adalah rekaman terakhir dalam kumpulan rekaman terkait.
CRecordView::OnGetRecordset Mengembalikan penunjuk ke objek kelas yang berasal dari CRecordset. ClassWizard mengambil alih fungsi ini untuk Anda dan membuat recordset jika perlu.
CRecordView::OnMove

Metode yang Dilindungi

Nama Deskripsi
CRecordView::OnMove Jika rekaman saat ini telah berubah, perbarui pada sumber data, lalu berpindah ke rekaman yang ditentukan (berikutnya, sebelumnya, pertama, atau terakhir).

Keterangan

Tampilan adalah tampilan formulir yang terhubung langsung ke CRecordset objek. Tampilan dibuat dari sumber daya templat dialog dan menampilkan bidang CRecordset objek dalam kontrol templat dialog. Objek CRecordView menggunakan pertukaran data dialog (DDX) dan pertukaran bidang rekaman (RFX) untuk mengotomatiskan pergerakan data antara kontrol pada formulir dan bidang kumpulan rekaman. CRecordView juga menyediakan implementasi default untuk pindah ke rekaman pertama, berikutnya, sebelumnya, atau terakhir dan antarmuka untuk memperbarui rekaman yang saat ini sedang dilihat.

Catatan

Jika Anda bekerja dengan kelas Objek Akses Data (DAO) daripada kelas Open Database Koneksi ivity (ODBC), gunakan kelas CDaoRecordView sebagai gantinya. Untuk informasi selengkapnya, lihat artikel Gambaran Umum: Pemrograman Database.

Cara paling umum untuk membuat tampilan catatan Anda adalah dengan Panduan Aplikasi. Application Wizard membuat kelas tampilan rekaman dan kelas recordset terkait sebagai bagian dari aplikasi pemula kerangka Anda. Jika Anda tidak membuat kelas tampilan rekaman dengan Panduan Aplikasi, Anda bisa membuatnya nanti dengan ClassWizard. Jika Anda hanya memerlukan satu formulir, pendekatan Application Wizard lebih mudah. ClassWizard memungkinkan Anda memutuskan untuk menggunakan tampilan rekaman nanti dalam proses pengembangan. Menggunakan ClassWizard untuk membuat tampilan rekaman dan recordset secara terpisah dan kemudian menghubungkannya adalah pendekatan yang paling fleksibel karena memberi Anda lebih banyak kontrol dalam menamai kelas recordset dan . H/. File CPP. Pendekatan ini juga memungkinkan Anda memiliki beberapa tampilan rekaman pada kelas recordset yang sama.

Untuk memudahkan pengguna akhir berpindah dari rekaman ke rekaman dalam tampilan rekaman, Panduan Aplikasi membuat sumber daya menu (dan toolbar opsional) untuk berpindah ke rekaman pertama, berikutnya, sebelumnya, atau terakhir. Jika Anda membuat kelas tampilan rekaman dengan ClassWizard, Anda perlu membuat sumber daya ini sendiri dengan editor menu dan bitmap.

Untuk informasi tentang implementasi default untuk berpindah dari rekaman ke rekaman, lihat IsOnFirstRecord dan IsOnLastRecord artikel Menggunakan Tampilan Rekaman.

CRecordView melacak posisi pengguna di kumpulan rekaman sehingga tampilan rekaman dapat memperbarui antarmuka pengguna. Saat pengguna berpindah ke salah satu akhir kumpulan rekaman, tampilan rekaman menonaktifkan objek antarmuka pengguna — seperti item menu atau tombol toolbar — untuk bergerak lebih jauh ke arah yang sama.

Untuk informasi selengkapnya tentang mendeklarasikan dan menggunakan tampilan rekaman dan kelas recordset Anda, lihat "Mendesain dan Membuat Tampilan Rekaman" dalam artikel Tampilan Rekaman. Untuk informasi selengkapnya tentang cara kerja tampilan rekaman dan cara menggunakannya, lihat artikel Menggunakan Tampilan Catatan.

Hierarki Warisan

CObject

CCmdTarget

CWnd

CView

CScrollView

CFormView

CRecordView

Persyaratan

Header: afxdb.h

CRecordView::CRecordView

Saat Anda membuat objek jenis yang berasal dari CRecordView, panggil salah satu bentuk konstruktor untuk menginisialisasi objek tampilan dan mengidentifikasi sumber daya dialog tempat tampilan berada.

explicit CRecordView(LPCTSTR lpszTemplateName);
explicit CRecordView(UINT nIDTemplate);

Parameter

lpszTemplateName
Berisi string yang dihentikan null yang merupakan nama sumber daya templat dialog.

nIDTemplate
Berisi nomor ID sumber daya templat dialog.

Keterangan

Anda dapat mengidentifikasi sumber daya berdasarkan nama (meneruskan string sebagai argumen ke konstruktor) atau dengan ID-nya (meneruskan bilangan bulat yang tidak ditandatangani sebagai argumen). Sebaiknya gunakan ID sumber daya.

Catatan

Kelas turunan Anda harus menyediakan konstruktornya sendiri. Di konstruktor kelas turunan Anda, panggil konstruktor CRecordView::CRecordView dengan nama sumber daya atau ID sebagai argumen, seperti yang ditunjukkan pada contoh di bawah ini.

CRecordView::OnInitialUpdateUpdateDatamemanggil , yang memanggil DoDataExchange. Panggilan awal ini untuk DoDataExchange menyambungkan CRecordView kontrol (secara tidak langsung) ke CRecordset anggota data bidang yang dibuat oleh ClassWizard. Anggota data ini tidak dapat digunakan sampai setelah Anda memanggil fungsi anggota kelas CFormView::OnInitialUpdate dasar.

Catatan

Jika Anda menggunakan ClassWizard, wizard menentukan enum nilai CRecordView::IDD, menentukannya dalam deklarasi kelas, dan menggunakannya dalam daftar inisialisasi anggota untuk konstruktor.

Contoh

CMyRecordView::CMyRecordView()
   : CRecordView(CMyRecordView::IDD)
{
   m_pSet = NULL;
   // TODO: add construction code here

}

CRecordView::IsOnFirstRecord

Panggil fungsi anggota ini untuk menentukan apakah rekaman saat ini adalah rekaman pertama dalam objek kumpulan rekaman yang terkait dengan tampilan rekaman ini.

BOOL IsOnFirstRecord();

Tampilkan Nilai

Bukan nol jika rekaman saat ini adalah rekaman pertama dalam kumpulan rekaman; jika tidak, 0.

Keterangan

Fungsi ini berguna untuk menulis implementasi handler pembaruan perintah default Anda sendiri yang ditulis oleh ClassWizard.

Jika pengguna berpindah ke rekaman pertama, kerangka kerja menonaktifkan objek antarmuka pengguna apa pun yang Anda miliki untuk pindah ke rekaman pertama atau sebelumnya.

CRecordView::IsOnLastRecord

Panggil fungsi anggota ini untuk menentukan apakah rekaman saat ini adalah rekaman terakhir dalam objek kumpulan rekaman yang terkait dengan tampilan rekaman ini.

BOOL IsOnLastRecord();

Tampilkan Nilai

Bukan nol jika rekaman saat ini adalah rekaman terakhir dalam kumpulan rekaman; jika tidak, 0.

Keterangan

Fungsi ini berguna untuk menulis implementasi Anda sendiri dari handler pembaruan perintah default yang ditulis ClassWizard untuk mendukung antarmuka pengguna untuk berpindah dari rekaman ke rekaman.

Perhatian

Hasil dari fungsi ini dapat diandalkan kecuali bahwa tampilan tidak dapat mendeteksi akhir kumpulan rekaman sampai pengguna telah melewatinya. Pengguna harus bergerak melampaui rekaman terakhir sebelum tampilan rekaman dapat mengetahui bahwa pengguna harus menonaktifkan objek antarmuka pengguna apa pun untuk pindah ke rekaman berikutnya atau terakhir. Jika pengguna bergerak melewati rekaman terakhir lalu berpindah kembali ke rekaman terakhir (atau sebelum itu), tampilan rekaman dapat melacak posisi pengguna di kumpulan rekaman dan menonaktifkan objek antarmuka pengguna dengan benar. IsOnLastRecord juga tidak dapat diandalkan setelah panggilan ke fungsi OnRecordLastimplementasi , yang menangani perintah ID_RECORD_LAST, atau CRecordset::MoveLast.

CRecordView::OnGetRecordset

Mengembalikan penunjuk ke CRecordsetobjek -turunan yang terkait dengan tampilan rekaman.

virtual CRecordset* OnGetRecordset() = 0;

Tampilkan Nilai

Penunjuk ke CRecordsetobjek -turunan jika objek berhasil dibuat; jika tidak, penunjuk NULL.

Keterangan

Anda harus mengambil alih fungsi anggota ini untuk membangun atau mendapatkan objek recordset dan mengembalikan penunjuk ke dalamnya. Jika Anda mendeklarasikan kelas tampilan rekaman Anda dengan ClassWizard, wizard akan menulis penimpaan default untuk Anda. Implementasi default ClassWizard mengembalikan penunjuk recordset yang disimpan dalam tampilan rekaman jika ada. Jika tidak, ini membangun objek kumpulan rekaman dari jenis yang Anda tentukan dengan ClassWizard dan memanggil fungsi anggotanya Open untuk membuka tabel atau menjalankan kueri, lalu mengembalikan penunjuk ke objek.

Untuk informasi dan contoh selengkapnya, lihat artikel Tampilan Rekaman: Menggunakan Tampilan Rekaman.

CRecordView::OnMove

Panggil fungsi anggota ini untuk berpindah ke rekaman lain di kumpulan rekaman dan tampilkan bidangnya di kontrol tampilan rekaman.

virtual BOOL OnMove(UINT nIDMoveCommand);

Parameter

nIDMoveCommand
Salah satu nilai ID perintah standar berikut:

  • ID_RECORD_FIRST Pindah ke rekaman pertama dalam kumpulan rekaman.

  • ID_RECORD_LAST Pindahkan ke rekaman terakhir dalam kumpulan rekaman.

  • ID_RECORD_NEXT Pindah ke rekaman berikutnya di kumpulan rekaman.

  • ID_RECORD_PREV Pindah ke rekaman sebelumnya di kumpulan rekaman.

Tampilkan Nilai

Bukan nol jika pemindahan berhasil; jika tidak, 0 jika permintaan pemindahan ditolak.

Keterangan

Implementasi default memanggil fungsi anggota objek yang sesuai Move yang CRecordset terkait dengan tampilan rekaman.

Secara default, OnMove memperbarui rekaman saat ini pada sumber data jika pengguna telah mengubahnya dalam tampilan rekaman.

Panduan Aplikasi membuat sumber daya menu dengan item menu Rekaman Pertama, Rekaman Terakhir, Rekaman Berikutnya, dan Rekaman Sebelumnya. Jika Anda memilih opsi Bilah Alat yang Dapat Ditampung, Wizard Aplikasi juga membuat toolbar dengan tombol yang sesuai dengan perintah ini.

Jika Anda memindahkan rekaman terakhir di kumpulan rekaman, tampilan rekaman akan terus menampilkan rekaman terakhir. Jika Anda bergerak mundur melewati rekaman pertama, tampilan rekaman akan terus menampilkan rekaman pertama.

Perhatian

OnMove Panggilan melemparkan pengecualian jika kumpulan rekaman tidak memiliki rekaman. Panggil fungsi handler pembaruan antarmuka pengguna yang sesuai — OnUpdateRecordFirst, , OnUpdateRecordNextOnUpdateRecordLast, atau OnUpdateRecordPrev — sebelum operasi pemindahan yang sesuai untuk menentukan apakah set rekaman memiliki rekaman apa pun.

Baca juga

Kelas CFormView
Bagan Hierarki
Kelas CRecordset
Kelas CFormView