Arquitetura de DataGridView controle (Windows Forms)

The DataGridView controle e suas classes relacionadas são projetados para ser um sistema flexível e extensível para exibir e editar dados tabulares. Todas essas classes estão contidas no System.Windows.Formsnamespace e eles são nomeados com o prefixo "DataGridView".

Elementos de arquitetura

O principal DataGridView classes de complementar derivar DataGridViewElement. O modelo de objeto a seguir ilustra o DataGridViewElement hierarquia de herança.

Modelo de objeto DataGridViewElement

The DataGridViewElement classe fornece uma referência para o pai DataGridView 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 seguir descrevem o DataGridView classes complementar em mais detalhes.

DataGridViewElementStates

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

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

Células e faixas

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

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

DataGridViewCell

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

Modelo de objeto DataGridViewCell

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

DataGridViewCell objetos não controlam suas próprias aparência e sistema autônomo recursos de pintura da mesma forma sistema autônomo controles Windows Forms. Em vez disso, a DataGridView é responsável pela aparência do seu DataGridViewCell objetos. Você significativamente pode afetar a aparência e comportamento de células interagindo com o DataGridView propriedades e eventos do controle. Quando você tem requisitos especiais para personalizações que estão além dos recursos do DataGridView 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 do DataGridView armazenamento de dados conectado do controle é expresso na DataGridView colunas do controle. Você pode acesso o DataGridView colunas do controle usando o Columns coleção. Você pode acessar as colunas selecionadas, usando o SelectedColumns coleção. O modelo de objeto a seguir ilustra esse uso e mostra o DataGridViewColumn hierarquia de herança.

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 base.

A lista a seguir mostra as classes derivadas de DataGridViewColumn:

Controles de edição de DataGridView

As células que oferecem suporte à funcionalidade de edição avançada geralmente usa 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 do 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 controles de edição, consulte Como: Controles de host em células de 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

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

Modelo de objeto DataGridViewRow

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

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

Consulte também

Conceitos

Usando a linha para novos registros in Windows Forms DataGridView controle

Referência

Visão geral do controle DataGridView (Windows Forms)

Outros recursos

Personalizando o Windows Forms DataGridView controle