Modos de exibição de dados no controle DataGridView do Windows Forms

The DataGridView controle pode exibir dados em três modos diferentes: limite, não acoplados e virtual.escolher o modo mais adequado de acordo com suas necessidades.

Não acoplado

Modo não-acoplado é adequado para exibir relativamente pequenas quantidades de dados que você gerencia programaticamente.Não anexe o DataGridView controle diretamente a uma fonte de dados sistema autônomo no modo limite. Em vez disso, você deve popular o controle, normalmente usando o DataGridViewRowCollection.Add método.

Modo não-acoplado pode ser especialmente útil para dados estático, somente leitura, ou quando desejar fornecer seu próprio código que interage com um armazenamento de dados externos.Quando desejar que os usuários interajam com uma fonte de dados externa, no entanto, você normalmente usará modo limite.

Para obter um exemplo que usa um não-acoplado somente-leitura DataGridView, consulte Como: Criar um controle DataGridView do Windows Forms.

limite

Modo limite é adequado para gerenciar dados usando a interação automático com o armazenamento de dados.Você pode anexar o DataGridView controle diretamente à sua fonte de dados, definindo o DataSource propriedade. Quando o controle limite a dados, linhas de dados são enviadas e recebidas sem a necessidade de gerenciamento explícito de sua parte.Quando o AutoGenerateColumns propriedade é true, cada coluna da fonte de dados fará com que uma coluna correspondente a ser criado no controle. Se você preferir criar suas próprias colunas, você pode conjunto essa propriedade para false e usar o DataPropertyName propriedade para BIND cada coluna, quando você o configura. Isso é útil quando você deseja usar um tipo de coluna que não seja os tipos que são gerados por padrão.Para obter mais informações, consulte Tipos de coluna no Windows Forms DataGridView controle.

Para obter um exemplo que usa um limite DataGridView controle, consulte Demonstra Passo a passo: Validando dados no controle do Windows Forms DataGridView.

Você também pode adicionar colunas não acopladas para um DataGridView controle no modo limite. Isso é útil quando você desejar exibir uma coluna de botões ou links que permitem que os usuários executem ações em linhas específicas.Também é útil exibir as colunas com valores calculados de colunas acopladas.Você pode popular os valores das células para colunas calculadas em um manipulador para o CellFormatting evento. Se você estiver usando um DataSet ou DataTable sistema autônomo a fonte de dados, no entanto, convém usar o DataColumn.Expression propriedade para em vez disso, crie uma coluna calculada. Nesse caso, a DataGridView controle tratará a coluna calculada, assim como qualquer Outros coluna na fonte de dados.

Não há suporte para a classificação por colunas não acopladas no modo limite.Se você criar uma coluna não acoplada no modo limite que contém os valores editáveis do usuários, você deve implementar o modo virtual para manter esses valores quando o controle está classificado por uma coluna acoplada.

Virtual

Com o modo virtual, você pode implementar suas próprias operações de gerenciamento de dados.Isso é necessário para manter os valores das colunas não acoplados no modo limite quando o controle está classificado por colunas acopladas.No entanto, é o principal uso do modo virtual otimizar o desempenho ao interagir com grandes quantidades de dados.

Anexar o DataGridView controle para um cache que você gerencia e os controles de código quando linhas de dados são enviadas e recebidas. Para manter o rastro de memória pequeno, o cache deve ser cujo dimensionar para o número de linhas atualmente exibidas.Quando o usuário rola novas linhas no modo de exibição, seu código solicita novos dados do cache e, opcionalmente, libera dados antigos da memória.

Ao implementar o modo virtual, você precisará controlar quando uma nova linha é necessária no modelo de dados e quando a reverter a adição de nova linha.A implementação exata dessa funcionalidade depende a implementação do modelo de dados e a semântica de transação do modelo de dados; se o escopo de confirmar está no nível de célula ou linha.

Para obter mais informações sobre o modo virtual, consulte Modo virtual no Windows Forms DataGridView controle. Para obter um exemplo que mostra como usar eventos de modo virtual, consulte Demonstra Passo a passo: Implementando o modo virtual no Windows Forms DataGridView controle.

Consulte também

Tarefas

Demonstra Passo a passo: Criando um controle DataGridView do Windows Forms

Como: BIND dados a Windows Forms DataGridView controle

Demonstra Passo a passo: Implementando o modo virtual no Windows Forms DataGridView controle

Conceitos

Tipos de coluna no Windows Forms DataGridView controle

Modo virtual no Windows Forms DataGridView controle

Referência

DataGridView

DataGridView.DataSource

DataGridView.VirtualMode

BindingSource

DataGridViewColumn.DataPropertyName

Outros recursos

Exibindo dados no controle DataGridView do Windows Forms