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 true
kolumny 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ż
- DataGridView
- DataGridViewColumn
- DataGridViewButtonColumn
- DataGridViewCheckBoxColumn
- DataGridViewComboBoxColumn
- DataGridViewImageColumn
- DataGridViewTextBoxColumn
- DataGridViewLinkColumn
- DataGridView, kontrolka
- Instrukcje: wyświetlanie obrazów w komórkach kontrolki DataGridView formularzy Windows Forms
- Instrukcje: praca z kolumnami obrazów w kontrolce DataGridView formularzy Windows Forms
- Dostosowywanie kontrolki DataGridView formularzy Windows Forms
.NET Desktop feedback
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla