Grid Data Bersarang WPF dengan header dan sub header tetap

Saya ingin membuat kisi data bersarang WPF yang akan memiliki header dan sub header tetap. Berikut adalah beberapa poin yang diperlukan untuk membuat kontrol grid bersarang: -

  1. Baris grid utama akan memiliki data yang disejajarkan dengan kolom header utama dan baris grid yang disarangkan akan memiliki data yang disejajarkan dengan kolom sub-header.
  2. Saat mengklik Baris kisi utama, baris kisi yang disarangkan akan ditampilkan dengan data yang sesuai dengan kolom sub header.
  3. Pengguna harus dapat memperluas beberapa baris grid utama.

Di bawah ini adalah gambar yang menggambarkan grid yang kita butuhkan.

masukkan deskripsi gambar di sini

Seperti yang ditunjukkan pada kisi di atas, baris abu-abu adalah baris utama yang disejajarkan dengan header Utama dan dua baris putih adalah sub baris yang disejajarkan dengan Sub header (operacao, autent., hora, dll.)

Koleksi (Kotak utama) yang harus terikat ke kontrol ini memiliki koleksi lain sebagai properti yang berisi baris-baris Sub baris (Kotak bersarang).


person Sharad    schedule 03.09.2015    source sumber


Jawaban (1)


Fungsionalitas ini dapat dicapai dengan menggunakan hierarki berikut:

  1. Untuk membuat kontrol seperti itu, Anda harus membuat label terpisah dari grid dengan desain yang diharapkan dan menyelaraskan lebarnya dengan properti koleksi yang dimaksudkan sebagai kolom grid.
  2. Buat kontrol Kustom yang diwarisi oleh Data-grid dan tangani peristiwa Mouse dan Key di dalamnya untuk Data-grid.
  3. Gunakan kontrol khusus ini di file XAML Utama dengan Sumber Data yang sama dengan Koleksi Utama (Daftar) dan ikat kolom kisi ke properti sumber data.
  4. Gunakan Templat Data di dalam Grid Data dengan RowDetailsTemplate yang selanjutnya akan berisi kontrol khusus (Data-grid).
  5. Ikat koleksi dalam yang ada di koleksi Utama ke kontrol kustom dalam ini. Beginilah cara penyusunan sarang dapat dicapai dengan menggunakan komponen Data-grid.
  6. Untuk fungsionalitas perluas dan ciutkan, timpa peristiwa Mouse Bawah/Mouse Atas pada kontrol kustom dan tangani visibilitas Detail Baris pada kontrol. Ini adalah bagaimana Anda dapat mengontrol perluasan dan penciutan baris grid.

Anda juga dapat mengganti peristiwa klik dan menangani navigasi selanjutnya. Selain itu, untuk mencapai desain yang sama, lakukan beberapa penyesuaian pada kolom kisi. Anda dapat mencapai perilaku ini dengan pendekatan yang disebutkan.

person Sumit Saini    schedule 04.11.2015