Compartilhar via


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

O DataGridView controle pode exibir dados em três modos diferentes: acoplado, não acoplados e virtual. Escolha o modo mais adequado, com base nas suas necessidades.

Não acoplado

Modo não acoplado é adequado para exibir relativamente pequenas quantidades de dados que você pode gerenciar programaticamente. Não anexe o DataGridView controle diretamente a uma fonte de dados, como no modo acoplado. Em vez disso, você deve preencher o controle por conta própria, normalmente usando o DataGridViewRowCollection.Add método.

Modo não vinculado pode ser particularmente útil para dados estáticos, somente leitura, ou quando você deseja 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 externos, no entanto, você normalmente usará modo acoplado.

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

Acoplado

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

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

Você também pode adicionar colunas não acopladas a uma DataGridView o controle no modo de limite. Isso é útil quando você deseja exibir uma coluna de botões ou links que permitem aos usuários executar ações em linhas específicas. Também é útil exibir as colunas com valores calculados de colunas acopladas. Você pode preencher os valores de célula para colunas calculadas em um manipulador para o CellFormatting de evento. Se você estiver usando um DataSet ou DataTable como fonte de dados, no entanto, convém usar o DataColumn.Expression propriedade criem uma coluna calculada. Nesse caso, o DataGridView controle tratará a coluna calculada, assim como qualquer outra coluna da fonte de dados.

Não há suporte para a classificação por colunas não acopladas no modo acoplado. Se você criar uma coluna não acoplada no modo acoplado que contém os valores editáveis do usuários, você deve implementar o modo virtual para manter esses valores quando o controle é 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 acoplado quando o controle é classificado por colunas acopladas. O principal uso do modo virtual, no entanto, é otimizar o desempenho ao interagir com grandes quantidades de dados.

Você pode anexar o DataGridView o controle para um cache que você gerencie e seus controles de código quando as linhas de dados são enviadas e recebidas. Para manter o rastro de memória pequeno, o cache deve ser semelhante ao número de linhas exibidas no momento. Quando o usuário rola novas linhas no modo de exibição, seu código solicita novos dados do cache e, opcionalmente, libera os dados antigos da memória.

Quando você estiver implementando o modo virtual, você precisará controlar quando uma nova linha é necessária no modelo de dados e quando a reversão a adição de nova linha. A implementação exata essa funcionalidade depende a implementação do modelo de dados e a semântica de transação do modelo de dados; Se o escopo de confirmação 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 Control. Para obter um exemplo que mostra como usar os eventos de modo virtual, consulte Demonstra Passo a passo: A implementação de modo Virtual o controle DataGridView do Windows Forms.

Consulte também

Tarefas

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

Como: Vincular os dados para o controle DataGridView do Windows Forms

Demonstra Passo a passo: A implementação de modo Virtual o controle DataGridView do Windows Forms

Referência

DataGridView

DataGridView.DataSource

DataGridView.VirtualMode

BindingSource

DataGridViewColumn.DataPropertyName

Conceitos

Tipos de coluna em que o controle DataGridView do Windows Forms

Modo virtual no Windows Forms DataGridView Control

Outros recursos

Exibir dados em Windows Forms DataGridView Control