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 / Notatka
Klasy DataSet 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 w bazie danych. Mimo że zestawy danych są sprawdzoną pomyślną technologią, zalecaną metodą dla nowych aplikacji platformy .NET jest użycie platformy Entity Framework Core. Program Entity Framework zapewnia bardziej naturalny sposób pracy z danymi tabelarycznymi jako modelami obiektów i ma bardziej prosty interfejs programowania.
Podczas wyświetlania danych na formularzach w aplikacjach systemu Windows możesz wybrać istniejące kontrolki z przybornika lub utworzyć kontrolki niestandardowe, jeśli aplikacja wymaga funkcji, które nie są dostępne w standardowych kontrolkach. W tym przewodniku pokazano, jak utworzyć kontrolkę, która implementuje element DefaultBindingPropertyAttribute. Kontrolki implementujące DefaultBindingPropertyAttribute mogą zawierać jedną właściwość, która może być powiązana z danymi. Takie kontrolki są podobne do kontrolek TextBox lub CheckBox.
Aby uzyskać więcej informacji na temat tworzenia kontrolek, zobacz Tworzenie kontrolek formularzy systemu Windows w czasie projektowania.
Podczas tworzenia kontrolek do użycia w scenariuszach powiązania danych należy zaimplementować jeden z następujących atrybutów powiązania danych:
Użycie atrybutu powiązania danych |
---|
Zaimplementuj kontrolki DefaultBindingPropertyAttribute na prostych kontrolkach, takich jak TextBox, które wyświetlają pojedynczą kolumnę (lub właściwość) danych. (Ten proces jest opisany na tej stronie przewodnika). |
Zaimplementuj ComplexBindingPropertiesAttribute na kontrolkach, takich jak DataGridView, które wyświetlają listy (lub tabele) danych. Aby uzyskać więcej informacji, zobacz Tworzenie kontrolki użytkownika formularzy systemu Windows, która obsługuje złożone powiązanie danych. |
Implementuj LookupBindingPropertiesAttribute na kontrolkach, takich jak ComboBox, które wyświetlają listy (lub tabele) danych, ale mogą także przedstawić jedną kolumnę lub właściwość. Aby uzyskać więcej informacji, zobacz Tworzenie kontrolki użytkownika Windows Forms, która obsługuje powiązanie danych odnośników. |
Ten przewodnik tworzy prostą kontrolkę, która wyświetla dane z jednej kolumny w tabeli. W tym przykładzie użyto kolumny Phone
tabeli Customers
z przykładowej bazy danych Northwind. Prosta kontrolka użytkownika wyświetla numery telefonów klientów w standardowym formacie numeru telefonu, używając MaskedTextBox i ustawiając maskę na numer telefonu.
W tym przewodniku dowiesz się, jak wykonywać następujące działania:
Utwórz nową aplikację Windows Forms (.NET Framework).
Dodaj nową kontrolkę użytkownika do projektu.
Wizualnie projektuj kontrolkę użytkownika.
Zaimplementuj
DefaultBindingProperty
atrybut .Tworzenie zestawu danych za pomocą kreatora konfiguracji źródła danych .
Ustaw kolumnę Phone (Telefon ) w oknie Źródła danych , aby użyć nowej kontrolki.
Utwórz formularz do wyświetlania danych w nowej kontrolce.
Wymagania wstępne
Do ukończenia tego samouczka potrzebne są obciążenia tworzenia aplikacji klasycznych platformy .NEToraz przechowywania i przetwarzania danych zainstalowanych w programie Visual Studio. Aby je zainstalować, otwórz Instalator programu Visual Studio i wybierz Modyfikuj (lub Więcej>Modyfikuj) obok wersji programu Visual Studio, którą chcesz zmodyfikować. Zobacz Modyfikowanie programu Visual Studio.
W tym przewodniku użyto bazy danych SQL Server Express LocalDB i przykładowej bazy danych Northwind.
Jeśli nie masz bazy danych LOCALDB programu SQL Server Express, zainstaluj ją ze strony pobierania programu SQL Server Express lub za pośrednictwem Instalatora programu Visual Studio. W instalatorze programu Visual Studiomożna zainstalować bazę danych SQL Server Express LocalDB w ramach magazynu danych i przetwarzania obciążenia lub jako pojedynczy składnik.
Zainstaluj przykładową bazę danych Northwind, wykonując następujące kroki:
W programie Visual Studio otwórz okno eksploratora obiektów programu SQL Server. (Eksplorator obiektów programu SQL Server jest instalowany w ramach obciążenia Magazyn danych i przetwarzanie w Instalatorze programu Visual Studio). Rozwiń węzeł SQL Server. Kliknij prawym przyciskiem myszy wystąpienie bazy danych LocalDB i wybierz pozycję Nowe zapytanie.
Zostanie otwarte okno edytora zapytań.
Skopiuj skrypt Northwind Transact-SQL do schowka. Ten skrypt języka T-SQL tworzy bazę danych Northwind od podstaw i wypełnia ją danymi.
Wklej skrypt języka T-SQL do edytora zapytań, a następnie wybierz przycisk Wykonaj.
Po krótkim czasie zapytanie zakończy działanie i zostanie utworzona baza danych Northwind.
Tworzenie aplikacji Windows Forms
Pierwszym krokiem jest utworzenie aplikacji Windows Forms (.NET Framework)::
W programie Visual Studio w menu Plik wybierz pozycję Nowy>projekt.
Rozwiń Visual C# lub Visual Basic w okienku po lewej stronie, a następnie wybierz kategorię Pulpit systemu Windows.
W środkowym okienku wybierz typ projektu Aplikacja Windows Forms .
Nadaj projektowi nazwę SimpleControlWalkthrough, a następnie wybierz przycisk OK.
Projekt SimpleControlWalkthrough jest tworzony i dodawany do Eksploratora rozwiązań.
Dodawanie kontrolki użytkownika do projektu
Ten przewodnik krok po kroku tworzy prostą kontrolkę powiązaną z danymi na podstawie User Control. Dodaj element Kontrolka użytkownika do projektu SimpleControlWalkthrough :
Z menu Project (Projekt ) wybierz pozycję Add User Control (Dodaj kontrolkę użytkownika).
Wpisz PhoneNumberBox w obszarze Nazwa, a następnie kliknij przycisk Dodaj.
Kontrolka PhoneNumberBox jest dodawana do Eksploratora rozwiązań i otwierana w projektancie.
Projektowanie kontrolki PhoneNumberBox
Ten przewodnik rozszerza istniejący MaskedTextBox element, aby utworzyć kontrolkę PhoneNumberBox :
Przeciągnij element MaskedTextBox z przybornika na powierzchnię projektową kontrolki użytkownika.
Wybierz inteligentny tag na MaskedTextBox, który właśnie przeciągnąłeś, a następnie wybierz pozycję Ustaw maskę.
Wybierz numer telefonu w oknie dialogowym Maska wejściowa , a następnie kliknij przycisk OK , aby ustawić maskę.
Dodawanie wymaganego atrybutu powiązania danych
W przypadku prostych kontrolek obsługujących powiązanie danych zaimplementuj element DefaultBindingPropertyAttribute:
Przełącz kontrolkę PhoneNumberBox na widok kodu. (W menu Widok wybierz pozycję Kod).
Zastąp kod w PhoneNumberBox następującym kodem:
using System.Windows.Forms; namespace CS { [System.ComponentModel.DefaultBindingProperty("PhoneNumber")] public partial class PhoneNumberBox : UserControl { public string PhoneNumber { get{ return maskedTextBox1.Text; } set{ maskedTextBox1.Text = value; } } public PhoneNumberBox() { InitializeComponent(); } } }
W menu Kompilacja wybierz pozycję Kompiluj rozwiązanie.
Tworzenie źródła danych na podstawie bazy danych
W tym kroku użyto Kreatora konfiguracji źródła danych do utworzenia źródła danych na Customers
podstawie tabeli w przykładowej bazie danych Northwind. Aby utworzyć połączenie, musisz mieć dostęp do przykładowej bazy danych Northwind. Aby uzyskać informacje na temat konfigurowania przykładowej bazy danych Northwind, zobacz Instrukcje: instalowanie przykładowych baz danych.
Aby otworzyć okno Źródła danych , w menu Dane kliknij pozycję Pokaż źródła danych.
W oknie Źródła danych wybierz pozycję Dodaj nowe źródło danych , aby uruchomić kreatora konfiguracji źródła danych .
Na stronie Wybierz typ źródła danych wybierz pozycję Baza danych, a następnie wybierz pozycję Dalej.
Na stronie Wybieranie połączenia danych wykonaj jedną z następujących czynności:
Jeśli na liście rozwijanej jest dostępne połączenie danych z przykładową bazą danych Northwind, wybierz je.
Wybierz pozycję Nowe połączenie , aby uruchomić okno dialogowe Dodawanie/Modyfikowanie połączenia .
Jeśli baza danych wymaga hasła, wybierz opcję dołączenia poufnych danych, a następnie wybierz przycisk Dalej.
Na stronie Zapisywanie parametrów połączenia w pliku konfiguracji aplikacji kliknij przycisk Dalej.
Na stronie Wybieranie obiektów bazy danych rozwiń węzeł Tabele .
Wybierz tabelę
Customers
, a następnie wybierz pozycję Zakończ.NorthwindDataSet został dodany do projektu, a tabela pojawia się w oknie Źródła danych.
Ustaw kolumnę telefonu do używania kontrolki PhoneNumberBox
W oknie Źródła danych możesz ustawić kontrolkę do utworzenia przed przeciągnięciem elementów do formularza:
Otwórz formularz Form1 w projektancie.
Rozwiń węzeł Klienci w oknie Źródła danych .
Kliknij strzałkę listy rozwijanej w węźle Klienci , a następnie wybierz pozycję Szczegóły z listy kontrolnej.
Kliknij strzałkę listy rozwijanej w kolumnie Telefon , a następnie wybierz pozycję Dostosuj.
Wybierz pozycję PhoneNumberBox z listy Skojarzonych kontrolek w oknie dialogowym Opcje dostosowywania interfejsu użytkownika danych .
Kliknij strzałkę listy rozwijanej w kolumnie Phone, a następnie wybierz pozycję PhoneNumberBox.
Dodawanie kontrolek do formularza
Kontrolki powiązane z danymi można utworzyć, przeciągając elementy z okna Źródła danych na formularz.
Aby utworzyć kontrolki powiązane z danymi w formularzu, przeciągnij główny węzeł Klienci z okna Źródła danych do formularza i sprawdź, czy kontrolka PhoneNumberBox jest używana do wyświetlania danych w kolumnie Phone .
Kontrolki powiązane z danymi z etykietami opisowymi są wyświetlane w formularzu wraz z paskiem narzędzi (BindingNavigator) umożliwiającym nawigowanie po rekordach. Element NorthwindDataSet, CustomersTableAdapter, BindingSource i BindingNavigator pojawią się na pasku składników.
Uruchamianie aplikacji
Naciśnij F5, aby uruchomić aplikację.
Dalsze kroki
W zależności od wymagań aplikacji można wykonać kilka kroków po utworzeniu kontrolki obsługującej powiązanie danych. Oto niektóre typowe następne kroki:
Umieszczenie kontrolek niestandardowych w bibliotece kontrolek w celu ponownego użycia ich w innych aplikacjach.
Tworzenie kontrolek obsługujących bardziej złożone scenariusze powiązania danych. Aby uzyskać więcej informacji, zobacz Tworzenie kontrolki użytkownika formularzy Windows, która obsługuje złożone powiązanie danych oraz Tworzenie kontrolki użytkownika formularzy Windows, która obsługuje powiązanie danych wyszukiwania.