Udostępnij za pośrednictwem


Typy kolumn w formancie DataGridView formularzy systemu Windows

Kontrolka DataGridView używa kilku typów kolumn do wyświetlania informacji i umożliwia użytkownikom modyfikowanie lub dodawanie informacji.

Po powiązaniu AutoGenerateColumns kontrolki DataGridView i ustawieniu właściwości na truekolumny są generowane automatycznie przy użyciu domyślnych typów kolumn odpowiednich dla typów danych zawartych w powiązanym źródle danych.

Możesz również utworzyć wystąpienia dowolnych klas kolumn samodzielnie i dodać je do kolekcji zwróconej Columns przez właściwość . Możesz utworzyć te wystąpienia do użycia jako niezwiązane kolumny lub ręcznie je powiązać. Kolumny powiązane ręcznie są przydatne, na przykład jeśli chcesz zamienić automatycznie wygenerowaną kolumnę jednego typu na kolumnę innego typu.

W poniższej tabeli opisano różne klasy kolumn dostępne do użycia w kontrolce DataGridView .

Klasa opis
DataGridViewTextBoxColumn Używane z wartościami tekstowymi. Generowane automatycznie podczas wiązania z liczbami i ciągami.
DataGridViewCheckBoxColumn Używane z wartościami Boolean i CheckState . Generowane automatycznie podczas wiązania z wartościami tych typów.
DataGridViewImageColumn Służy do wyświetlania obrazów. Generowane automatycznie podczas wiązania z tablicami bajtów, Image obiektami lub Icon obiektami.
DataGridViewButtonColumn Służy do wyświetlania przycisków w komórkach. Nie są generowane automatycznie podczas tworzenia powiązania. Zazwyczaj używane jako kolumny niezwiązane.
DataGridViewComboBoxColumn Służy do wyświetlania list rozwijanych w komórkach. Nie są generowane automatycznie podczas tworzenia powiązania. Zazwyczaj powiązane ręcznie.
DataGridViewLinkColumn Służy do wyświetlania łączy w komórkach. Nie są generowane automatycznie podczas tworzenia powiązania. Zazwyczaj powiązane ręcznie.
Typ kolumny niestandardowej Możesz utworzyć własną klasę kolumn, dziedzicząc klasę DataGridViewColumn lub dowolną z jej klas pochodnych, aby zapewnić niestandardowy wygląd, zachowanie lub hostowane kontrolki. Aby uzyskać więcej informacji, zobacz Jak dostosować komórki i kolumny w kontrolce DataGridView formularzy systemu Windows przez rozszerzenie ich zachowania i wyglądu

Te typy kolumn zostały szczegółowo opisane w poniższych sekcjach.

Datagridviewtextboxcolumn

Jest DataGridViewTextBoxColumn to typ kolumny ogólnego przeznaczenia do użycia z wartościami tekstowymi, takimi jak liczby i ciągi. W trybie edycji kontrolka TextBox jest wyświetlana w aktywnej komórce, umożliwiając użytkownikom modyfikowanie wartości komórki.

Wartości komórek są automatycznie konwertowane na ciągi do wyświetlania. Wartości wprowadzone lub zmodyfikowane przez użytkownika są automatycznie analizowane w celu utworzenia wartości komórki odpowiedniego typu danych. Te konwersje można dostosować, obsługując CellFormatting zdarzenia i CellParsing kontrolki DataGridView .

Typ danych wartości komórki kolumny jest określony we ValueType właściwości kolumny.

Datagridviewcheckboxcolumn

Element DataGridViewCheckBoxColumn jest używany z wartościami Boolean i CheckState . Boolean wartości są wyświetlane jako pola wyboru dwustanowe lub trzystanowe, w zależności od wartości ThreeState właściwości. Gdy kolumna jest powiązana z CheckState wartościami, ThreeState wartość właściwości jest true domyślnie.

Zazwyczaj wartości komórek pola wyboru są przeznaczone do magazynowania, podobnie jak inne dane, lub do wykonywania operacji zbiorczych. Jeśli chcesz natychmiast odpowiedzieć, gdy użytkownicy klikną komórkę pola wyboru, możesz obsłużyć CellClick zdarzenie, ale to zdarzenie występuje przed zaktualizowaną wartością komórki. Jeśli potrzebujesz nowej wartości w momencie kliknięcia, jedną z opcji jest obliczenie oczekiwanej wartości na podstawie bieżącej wartości. Innym podejściem jest natychmiastowe zatwierdzenie zmiany i obsługa zdarzenia w celu reagowania CellValueChanged na nie. Aby zatwierdzić zmianę po kliknięciu komórki, musisz obsłużyć CurrentCellDirtyStateChanged zdarzenie. W procedurze obsługi, jeśli bieżąca komórka jest komórką pola wyboru, wywołaj CommitEdit metodę i przekaż Commit wartość.

Datagridviewimagecolumn

Element DataGridViewImageColumn służy do wyświetlania obrazów. Kolumny obrazów można wypełniać automatycznie ze źródła danych, wypełniane ręcznie dla niezwiązanych kolumn lub wypełniane dynamicznie w programie obsługi dla CellFormatting zdarzenia.

Automatyczna populacja kolumny obrazu ze źródła danych współdziała z tablicami bajtów w różnych formatach obrazów, w tym wszystkie formaty obsługiwane przez Image klasę i format obrazu OLE używany przez program Microsoft® Access i przykładową bazę danych Northwind.

Wypełnianie kolumny obrazu ręcznie jest przydatne, gdy chcesz zapewnić funkcjonalność DataGridViewButtonColumnelementu , ale z dostosowanym wyglądem. Zdarzenie można obsługiwać DataGridView.CellClick , aby reagować na kliknięcia w komórce obrazu.

Wypełnianie komórek kolumny obrazu w procedurze obsługi zdarzenia CellFormatting jest przydatne, gdy chcesz udostępnić obrazy dla wartości obliczeniowych lub wartości w formatach innych niż obrazy. Na przykład może istnieć kolumna "Ryzyko" z wartościami ciągów, takimi jak "high", "middle"i "low" , które mają być wyświetlane jako ikony. Alternatywnie może istnieć kolumna "Obraz", która zawiera lokalizacje obrazów, które muszą zostać załadowane, a nie zawartość binarną obrazów.

Datagridviewbuttoncolumn

Za pomocą elementu DataGridViewButtonColumnmożna wyświetlić kolumnę komórek, które zawierają przyciski. Jest to przydatne, gdy chcesz zapewnić użytkownikom łatwy sposób wykonywania akcji na określonych rekordach, takich jak składanie zamówienia lub wyświetlanie rekordów podrzędnych w osobnym oknie.

Kolumny przycisków nie są generowane automatycznie po powiązaniu danych z kontrolką DataGridView . Aby użyć kolumn przycisków, należy utworzyć je ręcznie i dodać je do kolekcji zwróconej DataGridView.Columns przez właściwość .

Możesz odpowiedzieć na kliknięcia użytkownika w komórkach przycisków, obsługując DataGridView.CellClick zdarzenie.

Datagridviewcomboboxcolumn

Za pomocą elementu DataGridViewComboBoxColumnmożna wyświetlić kolumnę komórek zawierających pola listy rozwijanej. Jest to przydatne w przypadku wprowadzania danych w polach, które mogą zawierać tylko określone wartości, takie jak kolumna Category tabeli Products w przykładowej bazie danych Northwind.

Możesz wypełnić listę rozwijaną używaną dla wszystkich komórek w taki sam sposób, jak ComboBox lista rozwijana, ręcznie za pośrednictwem kolekcji zwróconej przez Items właściwość lub przez powiązanie jej ze źródłem danych za pośrednictwem DataSourcewłaściwości , DisplayMemberi ValueMember . Aby uzyskać więcej informacji, zobacz ComboBox Control (Kontrolka ComboBox).

Rzeczywiste wartości komórek można powiązać ze źródłem danych używanym przez kontrolkę DataGridView , ustawiając DataPropertyName właściwość System.Windows.Forms.DataGridViewComboBoxColumn.

Kolumny pól kombi nie są generowane automatycznie po powiązaniu danych z kontrolką DataGridView . Aby użyć kolumn pól kombi, należy je utworzyć ręcznie i dodać je do kolekcji zwróconej Columns przez właściwość .

Datagridviewlinkcolumn

Za pomocą elementu DataGridViewLinkColumnmożna wyświetlić kolumnę komórek zawierających hiperlinki. Jest to przydatne w przypadku wartości adresów URL w źródle danych lub jako alternatywy dla kolumny przycisków dla specjalnych zachowań, takich jak otwieranie okna z rekordami podrzędnymi.

Kolumny łączy nie są generowane automatycznie po powiązaniu danych z kontrolką DataGridView . Aby użyć kolumn łączy, należy utworzyć je ręcznie i dodać je do kolekcji zwróconej Columns przez właściwość .

Możesz odpowiedzieć na kliknięcia użytkowników na łącza, obsługując CellContentClick zdarzenie. To zdarzenie różni się od CellClick zdarzeń i CellMouseClick , które występują, gdy użytkownik kliknie w dowolnym miejscu w komórce.

Klasa DataGridViewLinkColumn udostępnia kilka właściwości do modyfikowania wyglądu łączy przed, podczas i po ich kliknięciu.

Zobacz też