Bagikan melalui


Mode Pemilihan pada Kontrol Windows Forms DataGridView

Terkadang Anda ingin aplikasi Anda melakukan tindakan berdasarkan pilihan pengguna dalam kontrol DataGridView. Bergantung pada tindakannya, Anda mungkin ingin membatasi jenis pilihan yang mungkin. Misalnya, aplikasi Anda dapat mencetak laporan untuk rekaman yang saat ini dipilih. Dalam hal ini, Anda mungkin ingin mengonfigurasi kontrol DataGridView sehingga mengklik di mana saja dalam baris selalu memilih seluruh baris, dan sehingga hanya satu baris pada satu waktu yang dapat dipilih.

Anda dapat menentukan pilihan yang diizinkan dengan mengatur properti DataGridView.SelectionMode ke salah satu nilai enumerasi DataGridViewSelectionMode berikut.

Nilai DataGridViewSelectionMode Deskripsi
CellSelect Mengklik sel memilihnya. Tajuk baris dan kolom tidak dapat digunakan untuk seleksi.
ColumnHeaderSelect Mengklik sel memilihnya. Mengklik kolom header akan memilih seluruh kolom. Header kolom tidak dapat digunakan untuk pengurutan.
FullColumnSelect Mengklik sel atau header kolom akan memilih seluruh kolom. Header kolom tidak dapat digunakan untuk pengurutan.
FullRowSelect Mengklik sel atau judul baris akan memilih seluruh baris.
RowHeaderSelect Mode pemilihan bawaan. Mengklik sel memilihnya. Mengklik header baris memilih seluruh baris.

Nota

Mengubah mode pemilihan pada run time secara otomatis menghapus pilihan saat ini.

Secara default, pengguna dapat memilih beberapa baris, kolom, atau sel dengan menyeret dengan mouse, menekan CTRL atau SHIFT saat memilih untuk memperluas atau mengubah pilihan, atau mengklik sel header kiri atas untuk memilih semua sel dalam kontrol. Untuk mencegah perilaku ini, atur properti MultiSelect ke false.

Mode FullRowSelect dan RowHeaderSelect memungkinkan pengguna menghapus baris dengan memilihnya dan menekan tombol DELETE. Pengguna hanya dapat menghapus baris saat sel saat ini tidak dalam mode edit, properti AllowUserToDeleteRows diatur ke true, dan sumber data yang mendasar mendukung penghapusan baris berbasis pengguna. Perhatikan bahwa pengaturan ini tidak mencegah penghapusan baris terprogram.

Pemilihan Programatis

Mode pilihan saat ini membatasi perilaku pemilihan terprogram serta pilihan pengguna. Anda dapat mengubah pilihan saat ini secara terprogram dengan mengatur properti Selected sel, baris, atau kolom apa pun yang ada di kontrol DataGridView. Anda juga dapat memilih semua sel dalam kontrol melalui metode SelectAll, tergantung pada mode pemilihan. Untuk menghapus pilihan, gunakan metode ClearSelection.

Jika properti MultiSelect diatur ke true, Anda dapat menambahkan elemen DataGridView ke atau menghapusnya dari pilihan dengan mengubah properti Selected elemen. Jika tidak, mengatur properti Selected ke true untuk satu elemen secara otomatis menghapus elemen lain dari pilihan.

Perhatikan bahwa mengubah nilai properti CurrentCell tidak mengubah pilihan saat ini.

Melalui properti SelectedCells, SelectedRows, dan SelectedColumns dari kontrol DataGridView, Anda dapat mengambil kumpulan sel, baris, atau kolom yang saat ini dipilih. Mengakses properti ini tidak efisien ketika setiap sel dalam kontrol dipilih. Untuk menghindari penalti performa dalam hal ini, gunakan metode AreAllCellsSelected terlebih dahulu. Selain itu, mengakses koleksi ini untuk menentukan jumlah sel, baris, atau kolom yang dipilih tidak efisien. Sebagai gantinya, Anda harus menggunakan metode GetCellCount, GetRowCount, atau GetColumnCount, dengan meneruskan nilai Selected.

Petunjuk / Saran

Contoh kode yang menunjukkan penggunaan terprogram sel yang dipilih dapat ditemukan di gambaran umum kelas DataGridView.

Lihat juga