Arquitetura do controle DataGridView (Windows Forms)

O DataGridView controle 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 contidas na System.Windows.Forms namespace e eles são todos nomeados com "datagridview" prefixo.

Elementos de arquitetura

O principal DataGridView companion derivam de DataGridViewElement. O modelo de objeto a seguir ilustra o DataGridViewElement hierarquia de herança.

Modelo de objeto de DataGridViewElement

Modelo de objeto DataGridViewElement

O DataGridViewElement classe fornece uma referência ao pai do DataGridView de controle e tem um State propriedade, que contém um valor que representa uma combinação de valores da DataGridViewElementStates enumeração.

As seções a seguintes descrevem o DataGridView companion classes mais detalhes.

DataGridViewElementStates

O DataGridViewElementStates enumeração contém os seguintes valores:

Os valores desta enumeração podem ser combinados com os operadores lógicos, portanto, o State propriedade pode expressar a mais de um estado ao mesmo tempo. Por exemplo, um DataGridViewElement podem ser simultaneamente Frozen, Selected, e Visible.

Células e faixas

O DataGridView controle consiste em dois tipos fundamentais de objetos: células e as faixas. Todas as células derivam de DataGridViewCell classe de base. Os dois tipos de faixas, DataGridViewColumn e DataGridViewRow, ambos derivam de DataGridViewBand classe de base.

O DataGridView controle interopera com várias classes, mas é mais comumente encontrado DataGridViewCell, DataGridViewColumn, e DataGridViewRow.

DataGridViewCell de propriedade

A célula é a unidade fundamental de interação para o DataGridView. Exibição é centralizada em células e entrada de dados geralmente é realizada por meio de células. Você pode acessar as células usando o Cells coleção da DataGridViewRow classe e você pode acessar as células selecionadas usando a SelectedCells coleção da DataGridView de controle. O modelo de objeto a seguir ilustra esse uso e mostra a DataGridViewCell hierarquia de herança.

Modelo de objeto DataGridViewCell de propriedade

Modelo de objeto DataGridViewCell

O DataGridViewCell o tipo é uma classe base abstrata da qual se derivam todos os tipos de célula. DataGridViewCelle seus tipos derivados não são controles Windows Forms, mas alguns controles Windows Forms do host. Qualquer funcionalidade de edição suportada por uma célula é normalmente manipulada por um controle hospedado.

DataGridViewCellobjetos não controlar seus próprios recursos de pintura e de aparência da mesma forma como os controles do Windows Forms. Em vez disso, o DataGridView é responsável pela aparência da sua DataGridViewCell objetos. Você pode afetar significativamente a aparência e comportamento de células interagindo com o DataGridView do controle de propriedades e eventos. Quando você tiver requisitos especiais para personalizações que estão além dos recursos do DataGridView o controle, você pode implementar sua própria classe que deriva de DataGridViewCell ou uma de suas classes filho.

A lista a seguir mostra as classes derivadas de DataGridViewCell:

DataGridViewColumn

O esquema da DataGridView armazenamento de dados anexada do controle é expresso na DataGridView de colunas. do controle Você pode acessar o DataGridView a colunas do controle usando o Columns coleção. Você pode acessar as colunas selecionadas usando a SelectedColumns coleção. O modelo de objeto a seguir ilustra esse uso e mostra a DataGridViewColumn hierarquia de herança.

Modelo de objeto DataGridViewColumn

Modelo de objeto DataGridViewColumn

Alguns dos tipos de célula de chave têm tipos de coluna correspondente. Esses são obtidos com o DataGridViewColumn classe de base.

A lista a seguir mostra as classes derivadas de DataGridViewColumn:

Controles de edição de DataGridView

As células que suportam a funcionalidade de edição avançada normalmente usam um controle hospedado que é derivado de um controle Windows Forms. Esses controles também implementam a IDataGridViewEditingControl interface. O modelo de objeto a seguir ilustra o uso desses controles.

Modelo de objeto de controle de edição DataGridView

Modelo de objeto de controle de edição DataGridView

Os seguintes controles de edição são fornecidos com o DataGridView controle:

Para obter informações sobre como criar seus próprios editando controles, consulte Como: Controles de host em células DataGridView do Windows Forms.

A tabela a seguir ilustra a relação entre tipos de célula, tipos de coluna e controles de edição.

Tipo de célula

Controle hospedado

Tipo de coluna

DataGridViewButtonCell

n/d

DataGridViewButtonColumn

DataGridViewCheckBoxCell

n/d

DataGridViewCheckBoxColumn

DataGridViewComboBoxCell

DataGridViewComboBoxEditingControl

DataGridViewComboBoxColumn

DataGridViewImageCell

n/d

DataGridViewImageColumn

DataGridViewLinkCell

n/d

DataGridViewLinkColumn

DataGridViewTextBoxCell

DataGridViewTextBoxEditingControl

DataGridViewTextBoxColumn

DataGridViewRow

O DataGridViewRow exibe de classe campos de dados do registro dos dados de armazenamento ao qual o DataGridView controle está anexado. Você pode acessar o DataGridView a linhas do controle usando o Rows coleção. Você pode acessar as linhas selecionadas, usando o SelectedRows coleção. O modelo de objeto a seguir ilustra esse uso e mostra a DataGridViewRow hierarquia de herança.

Modelo de objeto DataGridViewRow

Modelo de objeto DataGridViewRow

Você pode derivar seus próprios tipos a partir de DataGridViewRow de classe, embora isso geralmente não será necessário. O DataGridView controle tem vários eventos relacionados a linha e propriedades para personalizar o comportamento do seu DataGridViewRow objetos.

Se você habilitar o DataGridView do controle AllowUserToAddRows uma linha especial para adicionar novas linhas de propriedade, aparece como a última linha. Esta linha é parte do Rows coleção, mas não tem funcionalidade especial que talvez exijam sua atenção. Para obter mais informações, consulte Usando a linha para novos registros em que o controle DataGridView do Windows Forms.

Consulte também

Referência

Visão geral do controle DataGridView (Windows Forms)

Conceitos

Usando a linha para novos registros em que o controle DataGridView do Windows Forms

Outros recursos

Personalizando o controle DataGridView do Windows Forms