Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berbagai opsi tersedia untuk mengontrol bagaimana ukuran DataGrid itu sendiri. DataGrid, dan baris dan kolom individual di DataGrid, dapat diatur ukurannya secara otomatis sesuai dengan isi atau dapat diatur ke nilai tertentu. Secara default, DataGrid akan tumbuh dan menyusut agar sesuai dengan ukuran kontennya.
Mengukur DataGrid
Perhatian Saat Menggunakan Ukuran Otomatis
Secara bawaan, properti Height dan Width dari DataGrid diatur ke Double.NaN ("Auto" dalam XAML), dan DataGrid akan menyesuaikan dengan ukuran isinya.
Ketika ditempatkan di dalam kontainer yang tidak membatasi ukuran anak-anaknya, seperti Canvas atau StackPanel, DataGrid akan membentang di luar batas tampilan kontainer, dan bilah gulir tidak akan ditampilkan. Kondisi ini memiliki implikasi kegunaan dan performa.
Ketika terikat pada himpunan data, jika HeightDataGrid tidak dibatasi, akan terus menambahkan baris baru untuk setiap item data dalam himpunan data tersebut. Hal ini dapat menyebabkan DataGrid tumbuh di luar batas aplikasi yang terlihat saat baris ditambahkan. DataGrid tidak akan menampilkan bilah gulir dalam kasus ini karena Height akan terus bertambah untuk mengakomodasi baris baru.
Objek dibuat untuk setiap baris di DataGrid. Jika Anda bekerja dengan himpunan data besar dan Anda mengizinkan DataGrid untuk secara otomatis mengukur dirinya sendiri, pembuatan sejumlah besar objek dapat memengaruhi performa aplikasi Anda.
Untuk menghindari masalah ini saat Anda bekerja dengan himpunan data besar, disarankan agar Anda secara khusus mengatur Height dari DataGrid, atau menempatkannya dalam kontainer yang akan membatasi Height, seperti Grid. Ketika Height dibatasi, DataGrid hanya akan membuat baris yang akan pas dalam Heightyang ditentukan , dan akan mendaur ulang baris tersebut sesuai kebutuhan untuk menampilkan data baru.
Mengatur Ukuran DataGrid
DataGrid dapat diatur ke ukuran otomatis dalam batas yang ditentukan, atau DataGrid dapat diatur ke ukuran tertentu. Tabel berikut ini memperlihatkan properti yang bisa diatur untuk mengontrol ukuran DataGrid.
| Harta benda | Deskripsi |
|---|---|
| Height | Mengatur tinggi spesifik untuk DataGrid. |
| MaxHeight | Mengatur batas atas tinggi untuk DataGrid. DataGrid akan tumbuh secara vertikal sampai mencapai ketinggian ini. |
| MinHeight | Mengatur batas minimal untuk tinggi DataGrid. DataGrid akan menyusut secara vertikal sampai mencapai ketinggian ini. |
| Width | Mengatur lebar tertentu untuk DataGrid. |
| MaxWidth | Mengatur batas atas untuk lebar DataGrid. DataGrid akan tumbuh secara horizontal sampai mencapai lebar ini. |
| MinWidth | Mengatur batas bawah untuk lebar DataGrid. DataGrid akan menyusut secara horizontal hingga mencapai lebar ini. |
Ukuran Baris dan Header Baris
Baris DataGrid
Secara default, properti DataGrid baris Height diatur ke Double.NaN ("Auto" di XAML), dan tinggi baris akan diperluas menyesuaikan dengan ukuran isinya. Tinggi semua baris dalam DataGrid dapat ditentukan dengan mengatur properti DataGrid.RowHeight. Pengguna dapat mengubah tinggi baris dengan menyeret pembagi penunjuk baris.
Header Baris pada DataGrid
Untuk menampilkan header baris, properti HeadersVisibility harus diatur ke DataGridHeadersVisibility.Row atau DataGridHeadersVisibility.All. Secara default, header baris ditampilkan dan ukurannya secara otomatis agar sesuai dengan kontennya. Header baris dapat diberikan lebar tertentu dengan mengatur properti DataGrid.RowHeaderWidth.
Mengatur Ukuran Kolom dan Header Kolom
Kolom DataGrid
DataGrid menggunakan nilai DataGridLength dan struktur DataGridLengthUnitType untuk menentukan mode ukuran absolut atau otomatis.
Tabel berikut ini memperlihatkan nilai yang disediakan oleh struktur DataGridLengthUnitType.
| Nama | Deskripsi |
|---|---|
| Auto | Mode pengaturan ukuran otomatis default mengatur ukuran DataGrid kolom berdasarkan konten sel dan header kolom. |
| SizeToCells | Mode pengukuran otomatis berbasis sel mengatur ukuran kolom DataGrid berdasarkan konten sel dalam kolom tersebut, tidak termasuk header kolom. |
| SizeToHeader | Mode pengukuran otomatis berbasis header mengukur kolom DataGrid berdasarkan isi dari header kolom saja. |
| Pixel | Mode pengukuran berbasis piksel menyesuaikan ukuran kolom DataGrid berdasarkan nilai numerik yang diberikan. |
| Star | Mode ukuran bintang digunakan untuk mendistribusikan ruang yang tersedia berdasarkan proporsi tertimbang. Dalam XAML, nilai bintang dinyatakan sebagai n* di mana n mewakili nilai numerik. 1* setara dengan *. Misalnya, jika dua kolom dalam DataGrid memiliki lebar * dan 2*, kolom pertama akan menerima satu bagian dari ruang yang tersedia dan kolom kedua akan menerima dua bagian dari ruang yang tersedia. |
Kelas DataGridLengthConverter dapat digunakan untuk mengonversi data antara nilai numerik atau string dan nilai DataGridLength.
Secara default, properti DataGrid.ColumnWidth diatur ke SizeToHeader, dan properti DataGridColumn.Width diatur ke Auto. Ketika mode ukuran diatur ke Auto atau SizeToCells, kolom akan tumbuh ke lebar konten yang terlihat paling luas. Saat menggulir, mode ukuran ini akan menyebabkan kolom diperluas jika konten yang lebih besar dari ukuran kolom saat ini digulir ke tampilan. Kolom tidak akan menyusut setelah konten digulir keluar dari tampilan.
Kolom dalam DataGrid juga dapat diatur ke ukuran otomatis hanya dalam batas yang ditentukan, atau kolom dapat diatur ke ukuran tertentu. Tabel berikut ini memperlihatkan properti yang bisa diatur untuk mengontrol ukuran kolom.
| Harta benda | Deskripsi |
|---|---|
| DataGrid.MaxColumnWidth | Mengatur batas atas untuk semua kolom di DataGrid. |
| DataGridColumn.MaxWidth | Mengatur batas atas untuk kolom individual. Mengganti DataGrid.MaxColumnWidth |
| DataGrid.MinColumnWidth | Mengatur batas bawah untuk semua kolom di DataGrid. |
| DataGridColumn.MinWidth | Mengatur batas bawah untuk kolom individual. Mengganti DataGrid.MinColumnWidth |
| DataGrid.ColumnWidth | Mengatur lebar tertentu untuk semua kolom di DataGrid. |
| DataGridColumn.Width | Mengatur lebar tertentu untuk kolom individual. Mengganti DataGrid.ColumnWidth |
Judul Kolom DataGrid
Secara default, header kolom DataGrid ditampilkan. Untuk menyembunyikan header kolom, properti HeadersVisibility harus diatur ke DataGridHeadersVisibility.Row atau DataGridHeadersVisibility.None. Secara default, saat header kolom ditampilkan, header kolom secara otomatis berukuran agar pas dengan kontennya. Header kolom dapat diberikan tinggi tertentu dengan mengatur properti DataGrid.ColumnHeaderHeight.
Mengubah ukuran dengan Tetikus
Pengguna dapat mengubah ukuran DataGrid baris dan kolom dengan menyeret pembagi baris atau header kolom.
DataGrid juga mendukung penyesuaian ukuran baris dan kolom secara otomatis dengan mengklik dua kali pemisah header baris atau kolom. Untuk mencegah pengguna mengubah ukuran kolom tertentu, atur properti DataGridColumn.CanUserResize ke false untuk kolom individual. Untuk mencegah pengguna mengubah ukuran semua kolom, atur properti DataGrid.CanUserResizeColumns ke false. Untuk mencegah pengguna mengubah ukuran semua baris, atur properti DataGrid.CanUserResizeRows ke false.
Lihat juga
.NET Desktop feedback