Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga
Zestawy danych i powiązane klasy to starsze technologie .NET Framework z początku 2000 roku, które umożliwiają aplikacjom pracę z danymi w pamięci, gdy aplikacje są odłączone od bazy danych. Technologie te są szczególnie przydatne w przypadku aplikacji, które umożliwiają użytkownikom modyfikowanie danych i utrwalanie zmian z powrotem w bazie danych. Mimo że zestawy danych okazały się bardzo udaną technologią, zalecamy, aby nowe aplikacje platformy .NET używały platformy Entity Framework Core. Program Entity Framework zapewnia bardziej naturalny sposób pracy z danymi tabelarycznymi jako modelami obiektów i ma prostszy interfejs programowania.
Podczas edytowania wartości w kontrolkach powiązanych z danymi użytkownicy muszą przechodzić od bieżącego rekordu, aby zatwierdzić zaktualizowaną wartość w bazowym źródle danych, z którymi jest powiązana kontrolka. Przeciągając elementy z okna Źródła danych na formularz, pierwszy element, który upuścisz, generuje kod do zdarzenia Zapisz kliknij zdarzenie BindingNavigator. Ten kod wywołuje metodę EndEdit BindingSource. W związku z tym wywołanie EndEdit metody jest generowane tylko dla pierwszego BindingSource , który jest dodawany do formularza.
Wywołanie EndEdit zatwierdza wszelkie zmiany, które są w trakcie przetwarzania, we wszystkich kontrolkach powiązanych z danymi, które są obecnie edytowane. W związku z tym jeśli kontrolka powiązana z danymi nadal ma fokus i klikniesz przycisk Zapisz , wszystkie oczekujące zmiany w tej kontrolce zostaną zatwierdzone przed rzeczywistym zapisaniem ( TableAdapterManager.UpdateAll
metoda).
Aplikację można skonfigurować tak, aby automatycznie zatwierdzała zmiany, nawet jeśli użytkownik próbuje zapisać dane bez zatwierdzania zmian w ramach procesu zapisywania.
Uwaga
Projektant dodaje BindingSource.EndEdit
kod tylko dla pierwszego elementu porzuconego na formularzu. W związku z tym należy dodać wiersz kodu, aby wywołać EndEdit metodę dla każdego BindingSource z nich w formularzu. Możesz ręcznie dodać wiersz kodu, aby wywołać metodę EndEdit dla każdego BindingSourceelementu . Alternatywnie możesz dodać metodę EndEditOnAllBindingSources
do formularza i wywołać ją przed wykonaniem zapisu.
Poniższy kod używa zapytania LINQ (Language Integrated Query), aby iterować wszystkie BindingSource składniki i wywoływać EndEdit metodę dla każdego BindingSource z nich w formularzu.
Aby wywołać metodę EndEdit dla wszystkich składników BindingSource w formularzu
Dodaj następujący kod do formularza zawierającego BindingSource składniki.
Dodaj następujący wiersz kodu bezpośrednio przed wywołaniami w celu zapisania danych formularza (
TableAdapterManager.UpdateAll()
metody):