Omówione zostaną także kontrolki DataGridView (Windows Forms) umożliwiająca wyświetlanie danych tabelarycznych.
Bindowanie proste
Bindowanie to polega na przypisaniu pojedynczemu elementowi wartości z danej kolumny tabeli.
Przykładowe przypisanie
Przykładowe przypisanie wartości kolumny FirstName do kontrolki Label:
Code:
Bindowanie złożone
Występuje gdy więcej niż jedna kolumna (np. obiektu DataTable) jest bindowana do więcej niż jednej właściwości kontrolki. Przykładami mogą być tutaj DataGridView wyświetlający całą tabelę, bądź kontrolka List wyświetlająca więcej niż jedną kolumnę. Przykład bindowania do DataGridView w dwóch wersjach: za pomocą BindingSource oraz DataSet:
Code:
Nawigacja między rekordami
Dzięki kontrolce BindingNavigator można szybko stworzyć prostą nawigację po rekordach. Wystarczy przeciągnąć tę kontrolkę na formatkę i przypisać źródło danych do właściwości BindingSource:
Code:
Efekt:
DataGridView - Windows Forms
Kontrolka służąca do wyświetlania danych tabelarycznych pobranych najczęściej z bazy danych. Wyżej zostało przedstawione w jaki sposób bindować do niej dane.
DataGridView (w skrócie będę pisać DGV) posiada sześć wbudowanych typów kolumn:
- DataGridViewTextBoxColumn - typ wykorzystywany do wyświetlania danych łańcuchowych i numerycznych
- DataGridViewCheckBoxColumn - wyświetlanie danych logicznych
- DataGridViewImageColumn - wyświetlanie grafiki
- DataGridViewButtonColumn - komórka, której zawartością jest przycisk
- DataGridViewComboBoxColumn - zawiera kontrolkę ListBox
- DataGridViewLinkColumn - tworzy linki, np. do innych danych
- Custom - jeżeli wbudowane typy kolumn nam nie wystarczają, możemy stworzyć naszą poprzez dziedziczenie z klasy DataGridViewColumn
Przykłady tych operacji w C#
Code:
Komórki DGV mogą być edytowane przez użytkownika. Ważna jest więc walidacja danych wprowadzanych przez użytkownika. Walidację przeprowadzamy przez podpięcie się do zdarzenia CellValidating:
Code:
Ważne jest tutaj, że w przypadku gdy kolumna była tworzona przez nas (ma podaną nazwę) - używamy właściwości Name, a gdy DGV jest bindowany z obiektem typu DataSet należy skorzystać z właściwości DataPropertyName.
Komórki w których użytkownik błędnie wprowadził dane, zostaną oznaczone czerwoną ikoną wykrzyknika, a dodatkowo jeżeli na niego najedziemy otrzymamy zawartość pola ErrorText.
Ciekawą opcją jest możliwość nadawania wyglądu poszczególnym komórką. Obsługa polega na przypięciu się do zdarzenia CellPainting i napisaniu odpowiedniej logiki. Przykład:
Code:
Kod: http://sdrv.ms/UHd8Wi
Brak komentarzy:
Prześlij komentarz