Udostępnij za pomocą


Tryby wyświetlania danych w kontrolce DataGridView formularzy systemu Windows

Kontrolka DataGridView może wyświetlać dane w trzech różnych 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ę przy użyciu metody DataGridViewRowCollection.Add.

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 DataGridViewtylko do odczytu, zobacz Instrukcje: tworzenie niezwiązanej kontrolki DataGridView formularzy systemu Windows.

Granica

Tryb wiązania jest odpowiedni do zarządzania danymi poprzez automatyczną interakcję z bazą danych. Kontrolkę DataGridView można dołączyć bezpośrednio do źródła danych, ustawiając właściwość DataSource. Gdy kontrolka jest powiązana z danymi, wiersze danych są przesyłane i pobierane bez potrzeby jawnego zarządzania z Twojej strony. Gdy właściwość AutoGenerateColumns jest true, każda kolumna 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ć właściwości DataPropertyName, aby powiązać każdą kolumnę 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.

Przykład użycia powiązanej kontrolki DataGridView można znaleźć w temacie Walkthrough: Validating Data in the Windows Forms DataGridView Control( Sprawdzanie poprawności danych w kontrolce DataGridView formularzy systemu Windows).

Możesz również dodać niezwiązane kolumny do kontrolki DataGridView w trybie związanym. 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. Wartości komórek dla kolumn obliczeniowych można wypełnić w procedurze obsługi zdarzenia CellFormatting. Jeśli używasz DataSet lub DataTable jako źródła danych, możesz jednak użyć właściwości DataColumn.Expression, 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 powiązanym zawierającą wartości edytowalne przez użytkownika, musisz zaimplementować tryb wirtualny, aby zachować te wartości podczas sortowania kontrolki według powiązanej kolumny.

Wirtualny

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, gdy wiersze danych są wypychane i ściągane. Aby zachować niewielkie zużycie pamięci, cache powinna być zbliżona rozmiarem do liczby aktualnie wyświetlanych 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 zależy od implementacji modelu danych i semantyki transakcji modelu danych, a także od tego, czy zakres zatwierdzenia jest na poziomie komórki czy wiersza.

Aby uzyskać więcej informacji na temat trybu wirtualnego, zobacz sekcję 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 dla formularzy Windows.

Zobacz także