Udostępnij za pośrednictwem


Omówienie składnika BindingSource

Składnik BindingSource został zaprojektowany w celu uproszczenia procesu wiązania kontrolek z bazowym źródłem danych. Składnik BindingSource działa zarówno jako kanał, jak i źródło danych, do którego mogą się odwoływać inne kontrolki. Zapewnia abstrakcję połączenia danych formularza podczas przekazywania poleceń do bazowej listy danych. Ponadto można dodawać dane bezpośrednio do niego, aby sam składnik działał jako źródło danych.

Składnik BindingSource jako pośrednik

Składnik BindingSource działa jako źródło danych dla niektórych lub wszystkich kontrolek w formularzu. W programie Visual Studio można powiązać BindingSource z kontrolką za pomocą właściwości DataBindings, która jest dostępna w oknie Właściwości . Zobacz również Jak powiązać kontrolki formularzy Windows z komponentem BindingSource przy użyciu Projektanta.

Składnik BindingSource można powiązać zarówno z prostymi źródłami danych, jak pojedynczą właściwością obiektu lub podstawową kolekcją, na przykład ArrayList, i złożonymi źródłami danych, takimi jak tabela bazy danych. Składnik BindingSource działa jako pośrednik, który zapewnia powiązania i usługi zarządzania walutami. W czasie projektowania lub czasie wykonywania można powiązać składnik BindingSource ze złożonym źródłem danych, ustawiając odpowiednio jego DataSource i DataMember właściwości bazy danych i tabeli. Na poniższej ilustracji pokazano, gdzie składnik BindingSource pasuje do istniejącej architektury powiązania danych.

Architektura źródła powiązań i powiązywania danych

Notatka

W czasie projektowania niektóre akcje, takie jak przeciąganie tabeli bazy danych z okna danych na pusty formularz, spowoduje utworzenie składnika BindingSource, powiązanie go z bazowym źródłem danych i dodanie kontrolek obsługujących dane w jednej operacji. Zobacz również Wiązanie kontrolek Windows Forms z danymi w programie Visual Studio.

Komponent BindingSource jako źródło danych

Jeśli zaczniesz dodawać elementy do składnika BindingSource bez uprzedniego określenia listy do powiązania, składnik będzie działać jak źródło danych w stylu listy i akceptuje te dodane elementy.

Ponadto możesz napisać kod zapewniający niestandardową funkcję "DodajNowy" za pomocą zdarzenia AddingNew, które jest wywoływane, gdy metoda AddNew jest wywoływana przed dodaniem elementu do listy. Aby uzyskać więcej informacji, zobacz Architektura komponentu BindingSource.

W przypadku użytkowników, którzy muszą nawigować po danych w formularzu, składnik BindingNavigator umożliwia nawigowanie po danych i manipulowanie nimi w koordynacji ze składnikiem BindingSource. Aby uzyskać więcej informacji, zobacz BindingNavigator Control.

Manipulowanie danymi

Element BindingSource pełni rolę CurrencyManager w odniesieniu do wszystkich powiązań i dlatego może zapewnić dostęp do informacji o pozycji i walucie dotyczących źródła danych. W poniższej tabeli przedstawiono członków udostępnianych przez składnik BindingSource do uzyskiwania dostępu do danych podstawowych i manipulowania nimi.

Członek Opis
właściwość Current Pobiera bieżący element źródła danych.
właściwość Position Pobiera lub ustawia bieżącą pozycję na liście bazowej.
właściwość List Pobiera listę, która jest wynikiem ocen DataSource i DataMember. Jeśli DataMember nie jest ustawiona, zwraca listę określoną przez DataSource.
Insert metoda Wstawia element do listy pod określonym indeksem.
RemoveCurrent metoda Usuwa bieżący element z listy.
metoda EndEdit Stosuje oczekujące zmiany w bazowym źródle danych.
CancelEdit metoda Anuluje bieżącą operację edycji.
AddNew-metoda Dodaje nowy element do bazowej listy. Jeśli źródło danych implementuje IBindingList i zwraca element ze zdarzenia AddingNew, dodaje ten element. W przeciwnym razie żądanie jest przekazywane do metody AddNew listy. Jeśli lista bazowa nie jest IBindingList, element zostanie automatycznie utworzony za pomocą jego publicznego konstruktora bez parametrów.

Sortowanie i filtrowanie

Zazwyczaj należy pracować z uporządkowanym lub filtrowanym widokiem źródła danych. W poniższej tabeli przedstawiono członków, których zapewnia źródło danych składnika BindingSource.

Członek Opis
właściwość Sort Jeśli źródło danych jest IBindingList, pobiera lub ustawia nazwę kolumny używaną do sortowania oraz informacje o kolejności sortowania. Jeśli źródło danych jest IBindingListView i obsługuje sortowanie zaawansowane, pobiera wiele nazw kolumn używanych do sortowania oraz informacje o kolejności sortowania.
właściwość Filter Jeśli źródło danych jest IBindingListView, pobiera lub ustawia wyrażenie używane do filtrowania, które wiersze są wyświetlane.

Zobacz też