Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O controle DataGridView e suas classes relacionadas são projetados para ser um sistema flexível e extensível para exibir e editar dados tabulares. Essas classes estão todas contidas no namespace System.Windows.Forms e todas são nomeadas com o prefixo "DataGridView".
Elementos de arquitetura
As classes primárias DataGridView companheiras derivam de DataGridViewElement. O modelo de objeto a seguir ilustra a hierarquia de herança DataGridViewElement.
A classe DataGridViewElement fornece uma referência ao controle DataGridView pai e tem uma propriedade State, que contém um valor que representa uma combinação de valores da enumeração DataGridViewElementStates.
As seções a seguir descrevem as DataGridView classes complementares com mais detalhes.
DataGridViewElementStates
A enumeração DataGridViewElementStates contém os seguintes valores:
Os valores dessa enumeração podem ser combinados com os operadores lógicos bitwise, para que a propriedade State possa expressar mais de um estado ao mesmo tempo. Por exemplo, um DataGridViewElement pode ser simultaneamente Frozen, Selectede Visible.
Células e Bandas
O controle DataGridView compreende dois tipos fundamentais de objetos: células e bandas. Todas as células derivam da classe base DataGridViewCell. Os dois tipos de bandas, DataGridViewColumn e DataGridViewRow, derivam ambos da classe base DataGridViewBand.
O controle DataGridView interopera com várias classes, mas as mais comumente encontradas são DataGridViewCell, DataGridViewColumne DataGridViewRow.
DataGridViewCell
A célula é a unidade fundamental de interação para o DataGridView. A exibição é centralizada em células, e a entrada de dados geralmente é realizada através de células. Você pode acessar células usando a coleção Cells da classe DataGridViewRow e pode acessar as células selecionadas usando a coleção SelectedCells do controle DataGridView. O modelo de objeto a seguir ilustra esse uso e mostra a hierarquia de herança DataGridViewCell.
O tipo DataGridViewCell é uma classe base abstrata, da qual derivam todos os tipos de células. DataGridViewCell e os seus tipos derivados não são controles do Windows Forms, mas hospedam alguns controles do Windows Forms. Qualquer funcionalidade de edição suportada por uma célula é normalmente manipulada por um controle hospedado.
DataGridViewCell objetos não controlam sua própria aparência e recursos de pintura da mesma forma que os controles do Windows Forms. Em vez disso, o DataGridView é responsável pela aparência dos seus DataGridViewCell objetos. Você pode afetar significativamente a aparência e o comportamento das células interagindo com as propriedades e eventos do controle DataGridView. Quando você tem requisitos especiais para personalizações que estão além dos recursos do controle DataGridView, você pode implementar sua própria classe que deriva de DataGridViewCell ou uma de suas classes filhas.
A lista a seguir mostra as classes derivadas de DataGridViewCell:
Os seus tipos de células personalizados
DataGridViewColumn
O esquema do armazenamento de dados anexado do controle DataGridView é expresso nas colunas do controle DataGridView. Você pode acessar as colunas do controle DataGridView usando a coleção Columns. Você pode acessar as colunas selecionadas usando a coleção SelectedColumns. O modelo de objeto a seguir ilustra esse uso e mostra a hierarquia de herança DataGridViewColumn.
Alguns dos tipos de células-chave têm tipos de coluna correspondentes. Estes são derivados da classe base DataGridViewColumn.
A lista a seguir mostra as classes derivadas de DataGridViewColumn:
Seus tipos de coluna personalizados
Controles de edição DataGridView
As células que oferecem suporte à funcionalidade de edição avançada normalmente usam um controle hospedado derivado de um controle Windows Forms. Esses controles também implementam a interface IDataGridViewEditingControl. O modelo de objeto a seguir ilustra o uso desses controles.
Os seguintes controles de edição são fornecidos com o controle DataGridView:
Para obter informações sobre como criar seus próprios controles de edição, consulte Como hospedar controles em células DataGridView do Windows Forms.
A tabela a seguir ilustra a relação entre tipos de células, tipos de coluna e controles de edição.
| Tipo de célula | Controlo alojado | Tipo de coluna |
|---|---|---|
| DataGridViewButtonCell | não aplicável | DataGridViewButtonColumn |
| DataGridViewCheckBoxCell | não aplicável | DataGridViewCheckBoxColumn |
| DataGridViewComboBoxCell | DataGridViewComboBoxEditingControl | DataGridViewComboBoxColumn |
| DataGridViewImageCell | não aplicável | DataGridViewImageColumn |
| DataGridViewLinkCell | não aplicável | DataGridViewLinkColumn |
| DataGridViewTextBoxCell | DataGridViewTextBoxEditingControl | DataGridViewTextBoxColumn |
DataGridViewRow
A classe DataGridViewRow exibe os campos de dados de um registro do armazenamento de dados ao qual o controle DataGridView está anexado. Você pode acessar as linhas do controle DataGridView usando a coleção Rows. Você pode acessar as linhas selecionadas usando a coleção SelectedRows. O modelo de objeto a seguir ilustra esse uso e mostra a hierarquia de herança DataGridViewRow.
Você pode derivar seus próprios tipos da classe DataGridViewRow, embora isso normalmente não seja necessário. O controle DataGridView tem vários eventos relacionados a linha e propriedades para personalizar o comportamento de seus objetos DataGridViewRow.
Se você habilitar a propriedade DataGridView do controle AllowUserToAddRows, uma linha especial para adicionar novas linhas aparecerá como a última linha. Esta linha faz parte da coleção Rows, mas tem funcionalidades especiais que podem exigir a sua atenção. Para obter mais informações, consulte Usando a linha para novos registros no controle DataGridView do Windows Forms.
Ver também
.NET Desktop feedback