Tryby wyświetlania danych w formancie DataGridView formularzy systemu Windows

Kontrolka DataGridView może wyświetlać dane w trzech odrębnych trybach: powiązanych, niepowiązanych i wirtualnych. Wybierz najbardziej odpowiedni tryb na podstawie wymagań.

Niezwiązany

Tryb unbound jest odpowiedni do wyświetlania stosunkowo małych ilości danych, którymi zarządzasz programowo. Kontrolka DataGridView nie jest dołączana bezpośrednio do źródła danych, tak jak w trybie powiązanym. Zamiast tego należy samodzielnie wypełnić kontrolkę, zazwyczaj przy użyciu DataGridViewRowCollection.Add metody .

Tryb unbound może być szczególnie przydatny w przypadku danych statycznych, tylko do odczytu lub gdy chcesz podać własny kod, który współdziała z zewnętrznym magazynem danych. Jeśli jednak chcesz, aby użytkownicy wchodzili w interakcję z zewnętrznym źródłem danych, zazwyczaj należy użyć trybu ograniczenia.

Aby zapoznać się z przykładem, który używa niezwiązanego tylko do odczytu, zobacz Instrukcje: tworzenie niezwiązanej DataGridViewkontrolki DataGridView formularzy systemu Windows.

Bound

Tryb powiązany jest odpowiedni do zarządzania danymi przy użyciu automatycznej interakcji z magazynem danych. Kontrolkę DataGridView można dołączyć bezpośrednio do źródła danych, ustawiając DataSource właściwość . Gdy kontrolka jest powiązana z danymi, wiersze danych są wypychane i ściągane bez konieczności jawnego zarządzania w danej części. Gdy właściwość ma truewartość , każda kolumna AutoGenerateColumns w źródle danych spowoduje utworzenie odpowiedniej kolumny w kontrolce. Jeśli wolisz utworzyć własne kolumny, możesz ustawić tę właściwość na false i użyć DataPropertyName właściwości do powiązania każdej kolumny podczas jej konfigurowania. Jest to przydatne, gdy chcesz użyć typu kolumny innej niż typy, które są generowane domyślnie. Aby uzyskać więcej informacji, zobacz Typy kolumn w kontrolce DataGridView formularzy systemu Windows.

Aby zapoznać się z przykładem używającym powiązanej DataGridView kontrolki, zobacz Przewodnik: weryfikowanie danych w kontrolce DataGridView formularzy systemu Windows.

Możesz również dodać niezwiązane kolumny do kontrolki w trybie powiązanym DataGridView . Jest to przydatne, gdy chcesz wyświetlić kolumnę przycisków lub linków, które umożliwiają użytkownikom wykonywanie akcji w określonych wierszach. Przydatne jest również wyświetlanie kolumn z wartościami obliczanymi na podstawie powiązanych kolumn. Możesz wypełnić wartości komórek dla kolumn obliczeniowych w procedurze obsługi zdarzenia CellFormatting . Jeśli jednak używasz DataSet elementu lub DataTable jako źródła danych, możesz zamiast tego użyć DataColumn.Expression właściwości , aby utworzyć kolumnę obliczeniową. W takim przypadku kontrolka DataGridView będzie traktować kolumnę obliczeniową tak samo jak każda inna kolumna w źródle danych.

Sortowanie według niezwiązanych kolumn w trybie powiązanym nie jest obsługiwane. Jeśli utworzysz niezwiązaną kolumnę w trybie ograniczenia zawierającym wartości edytowalne przez użytkownika, musisz zaimplementować tryb wirtualny, aby zachować te wartości, gdy kontrolka jest sortowana według powiązanej kolumny.

Wirtualne

W trybie wirtualnym można zaimplementować własne operacje zarządzania danymi. Jest to konieczne, aby zachować wartości niezwiązanych kolumn w trybie powiązanym, gdy kontrolka jest sortowana według powiązanych kolumn. Podstawowym zastosowaniem trybu wirtualnego jest jednak zoptymalizowanie wydajności podczas interakcji z dużą ilością danych.

Kontrolkę DataGridView można dołączyć do zarządzanej pamięci podręcznej, a kod kontroluje, kiedy wiersze danych są wypychane i ściągane. Aby zachować małe zużycie pamięci, pamięć podręczna powinna być podobna do liczby wyświetlanych obecnie wierszy. Gdy użytkownik przewija nowe wiersze do widoku, kod żąda nowych danych z pamięci podręcznej i opcjonalnie opróżnia stare dane z pamięci.

Podczas implementowania trybu wirtualnego należy śledzić, kiedy nowy wiersz jest potrzebny w modelu danych i kiedy należy wycofać dodanie nowego wiersza. Dokładna implementacja tej funkcji będzie zależeć od implementacji modelu danych i semantyki transakcji modelu danych; określa, czy zakres zatwierdzenia znajduje się na poziomie komórki lub wiersza.

Aby uzyskać więcej informacji na temat trybu wirtualnego, zobacz Tryb wirtualny w kontrolce DataGridView formularzy systemu Windows. Aby zapoznać się z przykładem użycia zdarzeń trybu wirtualnego, zobacz Przewodnik: implementowanie trybu wirtualnego w kontrolce DataGridView formularzy systemu Windows.

Zobacz też