Bagikan melalui


Arsitektur Kontrol DataGridView (Formulir Windows)

Kontrol DataGridView dan kelas terkait dirancang untuk menjadi sistem yang fleksibel dan dapat diperluas untuk menampilkan dan mengedit data tabular. Semua kelas ini terkandung dalam namespace System.Windows.Forms, dan semuanya dinamai dengan awalan "DataGridView".

Elemen Arsitektur

Kelas pendamping utama DataGridView berasal dari DataGridViewElement. Model objek berikut mengilustrasikan hierarki pewarisan DataGridViewElement.

Diagram yang memperlihatkan hierarki Model Objek DataGridViewElement.

Kelas DataGridViewElement menyediakan referensi ke kontrol DataGridView induk dan memiliki properti State, yang menyimpan nilai yang mewakili kombinasi nilai dari enumerasi DataGridViewElementStates.

Bagian berikut menjelaskan kelas pendamping DataGridView secara lebih rinci.

DataGridViewElementStates

Enumerasi DataGridViewElementStates berisi nilai berikut:

Nilai enumerasi ini dapat dikombinasikan dengan operator logis bitwise, sehingga properti State dapat mengekspresikan lebih dari satu status sekaligus. Misalnya, DataGridViewElement dapat secara bersamaan Frozen, Selected, dan Visible.

Sel dan Gugus

Kontrol DataGridView terdiri dari dua jenis objek mendasar: sel dan pita. Semua sel berasal dari kelas dasar DataGridViewCell. Dua jenis pita, DataGridViewColumn dan DataGridViewRow, kedua-duanya berasal dari kelas dasar DataGridViewBand.

Kontrol DataGridView berinteroperasi dengan beberapa kelas, tetapi yang paling sering ditemui adalah DataGridViewCell, DataGridViewColumn, dan DataGridViewRow.

DataGridViewCell

Unit fundamental interaksi untuk DataGridViewadalah sel. Tampilan dipusatkan pada sel, dan entri data sering dilakukan melalui sel. Anda dapat mengakses sel dengan menggunakan kumpulan Cells kelas DataGridViewRow, dan Anda dapat mengakses sel yang dipilih dengan menggunakan kumpulan SelectedCells kontrol DataGridView. Model objek berikut mengilustrasikan penggunaan ini dan menunjukkan hierarki warisan DataGridViewCell.

Diagram yang memperlihatkan hierarki Model Objek DataGridViewCell.

Jenis DataGridViewCell adalah kelas dasar abstrak, dari mana semua jenis sel berasal. DataGridViewCell dan jenis turunannya bukan kontrol Windows Forms, tetapi beberapa di antaranya menjadi host bagi kontrol Windows Forms. Fungsionalitas pengeditan apa pun yang didukung oleh sel biasanya ditangani oleh kontrol yang dihosting.

DataGridViewCell objek tidak mengontrol tampilan dan fitur lukisan mereka sendiri dengan cara yang sama seperti kontrol Windows Forms. Sebaliknya, DataGridView bertanggung jawab atas penampilan objek DataGridViewCell. Anda dapat secara signifikan memengaruhi tampilan dan perilaku sel dengan berinteraksi dengan properti dan peristiwa kontrol DataGridView. Ketika Anda memiliki persyaratan khusus untuk penyesuaian yang berada di luar kemampuan kontrol DataGridView, Anda dapat membuat kelas Anda sendiri yang berasal dari DataGridViewCell atau salah satu kelas turunannya.

Daftar berikut menunjukkan kelas yang berasal dari DataGridViewCell:

DataGridViewColumn

Skema penyimpanan data terlampir kontrol DataGridView dinyatakan dalam kolom kontrol DataGridView. Anda dapat mengakses kolom kontrol DataGridView dengan menggunakan kumpulan Columns. Anda dapat mengakses kolom yang dipilih dengan menggunakan koleksi SelectedColumns. Model objek berikut mengilustrasikan penggunaan ini dan menunjukkan hierarki warisan DataGridViewColumn.

diagram yang memperlihatkan hierarki Model Objek DataGridViewColumn.

Beberapa jenis sel kunci memiliki jenis kolom yang sesuai. Ini berasal dari kelas dasar DataGridViewColumn.

Daftar berikut menunjukkan kelas yang berasal dari DataGridViewColumn:

Kontrol Pengeditan DataGridView

Sel yang mendukung fungsionalitas pengeditan tingkat lanjut biasanya menggunakan kontrol yang dihosting yang berasal dari kontrol Windows Forms. Kontrol ini juga mengimplementasikan antarmuka IDataGridViewEditingControl. Model objek berikut mengilustrasikan penggunaan kontrol ini.

Diagram memperlihatkan hierarki Model Objek Pengontrol Pengeditan DataGridView.

Kontrol pengeditan berikut disediakan dengan kontrol DataGridView:

Untuk informasi tentang membuat kontrol pengeditan Anda sendiri, lihat Cara: Kontrol Host di Windows Forms DataGridView Cells.

Tabel berikut ini mengilustrasikan hubungan di antara tipe sel, tipe kolom, dan kontrol pengeditan.

Tipe sel Kontrol Tuan Rumah Tipe kolom
DataGridViewButtonCell N/a DataGridViewButtonColumn
DataGridViewCheckBoxCell N/a DataGridViewCheckBoxColumn
DataGridViewComboBoxCell DataGridViewComboBoxEditingControl DataGridViewComboBoxColumn
DataGridViewImageCell N/a DataGridViewImageColumn
DataGridViewLinkCell N/a DataGridViewLinkColumn
DataGridViewTextBoxCell DataGridViewTextBoxEditingControl DataGridViewTextBoxColumn

DataGridViewRow

Kelas DataGridViewRow menampilkan bidang data rekaman dari penyimpanan data tempat kontrol DataGridView dilampirkan. Anda dapat mengakses baris kontrol DataGridView dengan menggunakan koleksi Rows. Anda dapat mengakses baris yang dipilih dengan menggunakan koleksi SelectedRows. Model objek berikut mengilustrasikan penggunaan ini dan menunjukkan hierarki warisan DataGridViewRow.

Diagram yang memperlihatkan hierarki Model Objek DataGridViewRow Object.

Anda dapat mendapatkan tipe Anda sendiri dari kelas DataGridViewRow, meskipun ini biasanya tidak diperlukan. Kontrol DataGridView memiliki beberapa peristiwa dan properti terkait baris untuk menyesuaikan perilaku objek DataGridViewRow.

Jika Anda mengaktifkan properti kontrol DataGridView yang bernama AllowUserToAddRows, sebuah baris khusus untuk menambahkan baris baru akan muncul sebagai baris terakhir. Baris ini adalah bagian dari koleksi Rows, tetapi memiliki fungsionalitas khusus yang mungkin memerlukan perhatian Anda. Untuk informasi selengkapnya, lihat Menggunakan Baris untuk Rekaman Baru di Kontrol DataGridView Windows Forms.

Lihat juga