Bagikan melalui


Jenis Kolom di Kontrol Formulir Windows DataGridView

DataGridView Kontrol menggunakan beberapa jenis kolom untuk menampilkan informasinya dan memungkinkan pengguna untuk mengubah atau menambahkan informasi.

Saat Anda mengikat kontrol dan mengatur AutoGenerateColumns properti ke true, kolom secara otomatis dihasilkan menggunakan jenis kolom default yang sesuai untuk jenis data yang terkandung DataGridView dalam sumber data terikat.

Anda juga dapat membuat instans dari salah satu kelas kolom sendiri dan menambahkannya ke koleksi yang Columns dikembalikan oleh properti . Anda dapat membuat instans ini untuk digunakan sebagai kolom yang tidak terikat, atau Anda dapat mengikatnya secara manual. Kolom yang terikat secara manual berguna, misalnya, saat Anda ingin mengganti kolom yang dihasilkan secara otomatis dari satu jenis dengan kolom dengan jenis lain.

Tabel berikut ini menjelaskan berbagai kelas kolom yang tersedia untuk digunakan dalam DataGridView kontrol.

Kelas Deskripsi
DataGridViewTextBoxColumn Digunakan dengan nilai berbasis teks. Dihasilkan secara otomatis saat mengikat ke angka dan string.
DataGridViewCheckBoxColumn Digunakan dengan Boolean nilai dan CheckState . Dihasilkan secara otomatis saat mengikat nilai jenis ini.
DataGridViewImageColumn Digunakan untuk menampilkan gambar. Dihasilkan secara otomatis saat mengikat array byte, Image objek, atau Icon objek.
DataGridViewButtonColumn Digunakan untuk menampilkan tombol dalam sel. Tidak dibuat secara otomatis saat mengikat. Biasanya digunakan sebagai kolom yang tidak terikat.
DataGridViewComboBoxColumn Digunakan untuk menampilkan daftar drop-down dalam sel. Tidak dibuat secara otomatis saat mengikat. Biasanya terikat data secara manual.
DataGridViewLinkColumn Digunakan untuk menampilkan tautan dalam sel. Tidak dibuat secara otomatis saat mengikat. Biasanya terikat data secara manual.
Jenis kolom kustom Anda Anda dapat membuat kelas kolom Anda sendiri dengan mewarisi kelas atau kelas turunannya untuk memberikan tampilan, perilaku, atau kontrol yang dihosting DataGridViewColumn kustom. Untuk informasi selengkapnya, lihat Cara: Menyesuaikan Sel dan Kolom di kontrol Formulir Windows DataGridView dengan Memperluas Perilaku dan Tampilannya

Jenis kolom ini dijelaskan secara lebih rinci di bagian berikut.

DataGridViewTextBoxColumn

DataGridViewTextBoxColumn adalah jenis kolom tujuan umum untuk digunakan dengan nilai berbasis teks seperti angka dan string. Dalam mode pengeditan, TextBox kontrol ditampilkan di sel aktif, memungkinkan pengguna untuk mengubah nilai sel.

Nilai sel secara otomatis dikonversi ke string untuk ditampilkan. Nilai yang dimasukkan atau dimodifikasi oleh pengguna secara otomatis diurai untuk membuat nilai sel dari jenis data yang sesuai. Anda dapat menyesuaikan konversi ini dengan menangani CellFormatting peristiwa DataGridView dan CellParsing kontrol.

Tipe data nilai sel kolom ditentukan dalam ValueType properti kolom.

DataGridViewCheckBoxColumn

DataGridViewCheckBoxColumn digunakan dengan Boolean nilai dan CheckState . Boolean nilai ditampilkan sebagai kotak centang dua status atau tiga status, tergantung pada nilai ThreeState properti. Saat kolom terikat ke CheckState nilai, ThreeState nilai properti secara true default.

Biasanya, nilai sel kotak centang ditujukan baik untuk penyimpanan, seperti data lainnya, atau untuk melakukan operasi massal. Jika Anda ingin segera merespons saat pengguna mengklik sel kotak centang, Anda dapat menangani peristiwa tersebut CellClick , tetapi peristiwa ini terjadi sebelum nilai sel diperbarui. Jika Anda memerlukan nilai baru pada saat klik, salah satu opsinya adalah menghitung nilai yang diharapkan berdasarkan nilai saat ini. Pendekatan lain adalah segera menerapkan perubahan, dan menangani CellValueChanged peristiwa untuk meresponsnya. Untuk menerapkan perubahan saat sel diklik, Anda harus menangani CurrentCellDirtyStateChanged peristiwa. Di handler, jika sel saat ini adalah sel kotak centang, panggil CommitEdit metode dan teruskan Commit nilai .

DataGridViewImageColumn

DataGridViewImageColumn digunakan untuk menampilkan gambar. Kolom gambar dapat diisi secara otomatis dari sumber data, diisi secara manual untuk kolom yang tidak terikat, atau diisi secara dinamis dalam handler untuk peristiwa tersebut CellFormatting .

Populasi otomatis kolom gambar dari sumber data berfungsi dengan array byte dalam berbagai format gambar, termasuk semua format yang didukung oleh Image kelas dan format Gambar OLE yang digunakan oleh Microsoft® Access dan database sampel Northwind.

Mengisi kolom gambar secara manual berguna saat Anda ingin menyediakan fungsionalitas DataGridViewButtonColumn, tetapi dengan tampilan yang disesuaikan. Anda dapat menangani DataGridView.CellClick peristiwa untuk merespons klik dalam sel gambar.

Mengisi sel kolom gambar dalam handler untuk CellFormatting peristiwa berguna saat Anda ingin menyediakan gambar untuk nilai atau nilai terhitung dalam format non-gambar. Misalnya, Anda mungkin memiliki kolom "Risiko" dengan nilai string seperti "high", "middle", dan "low" yang ingin Anda tampilkan sebagai ikon. Secara bergantian, Anda mungkin memiliki kolom "Gambar" yang berisi lokasi gambar yang harus dimuat daripada konten biner gambar.

DataGridViewButtonColumn

DataGridViewButtonColumnDengan , Anda dapat menampilkan kolom sel yang berisi tombol. Ini berguna ketika Anda ingin memberikan cara mudah bagi pengguna Anda untuk melakukan tindakan pada rekaman tertentu, seperti menempatkan pesanan atau menampilkan rekaman anak di jendela terpisah.

Kolom tombol tidak dihasilkan secara otomatis saat mengikat DataGridView data kontrol. Untuk menggunakan kolom tombol, Anda harus membuatnya secara manual dan menambahkannya ke koleksi yang DataGridView.Columns dikembalikan oleh properti .

Anda dapat merespons klik pengguna di sel tombol dengan menangani DataGridView.CellClick peristiwa.

DataGridViewComboBoxColumn

DataGridViewComboBoxColumnDengan , Anda bisa menampilkan kolom sel yang berisi kotak daftar drop-down. Ini berguna untuk entri data di bidang yang hanya dapat berisi nilai tertentu, seperti kolom Kategori tabel Produk di database sampel Northwind.

Anda dapat mengisi daftar drop-down yang digunakan untuk semua sel dengan cara yang sama seperti Anda mengisi ComboBox daftar drop-down, baik secara manual melalui koleksi yang dikembalikan oleh Items properti, atau dengan mengikatnya ke sumber data melalui DataSourceproperti , , DisplayMemberdan ValueMember . Untuk informasi selengkapnya, lihat Kontrol ComboBox.

Anda dapat mengikat nilai sel aktual ke sumber data yang DataGridView digunakan oleh kontrol dengan mengatur DataPropertyName properti System.Windows.Forms.DataGridViewComboBoxColumn.

Kolom kotak kombo tidak dihasilkan secara otomatis saat mengikat DataGridView data kontrol. Untuk menggunakan kolom kotak kombo, Anda harus membuatnya secara manual dan menambahkannya ke koleksi yang Columns dikembalikan oleh properti .

DataGridViewLinkColumn

DataGridViewLinkColumnDengan , Anda bisa menampilkan kolom sel yang berisi hyperlink. Ini berguna untuk nilai URL di sumber data atau sebagai alternatif untuk kolom tombol untuk perilaku khusus seperti membuka jendela dengan rekaman anak.

Kolom tautan tidak dihasilkan secara otomatis saat mengikat DataGridView data kontrol. Untuk menggunakan kolom tautan, Anda harus membuatnya secara manual dan menambahkannya ke koleksi yang Columns dikembalikan oleh properti .

Anda dapat menanggapi klik pengguna pada tautan dengan menangani CellContentClick peristiwa. Kejadian ini berbeda dari CellClick peristiwa dan CellMouseClick , yang terjadi ketika pengguna mengklik di mana saja dalam sel.

Kelas ini DataGridViewLinkColumn menyediakan beberapa properti untuk memodifikasi tampilan tautan sebelum, selama, dan setelah diklik.

Baca juga