Compartilhar via


Diferenças entre os controles DataGridView e DataGrid de Windows Forms

O DataGridView controle é um novo controle que substitui o DataGrid controle. O DataGridView controle fornece vários recursos básicos e avançados que estão ausentes no DataGrid controle. Além disso, a arquitetura do DataGridView controle torna muito mais fácil estender e personalizar do que o DataGrid controle.

A tabela a seguir descreve alguns dos principais recursos disponíveis no DataGridView controle que estão ausentes do DataGrid controle.

Recurso de controle DataGridView Descrição
Vários tipos de coluna O controle DataGridView fornece mais tipos de coluna internos do que o controle DataGrid. Esses tipos de coluna atendem às necessidades dos cenários mais comuns, mas também são mais fáceis de estender ou substituir do que os tipos de coluna no DataGrid controle. Para obter mais informações, consulte Tipos de coluna no controle DataGridView dos Windows Forms.
Várias maneiras de exibir dados O DataGrid controle é limitado à exibição de dados de uma fonte de dados externa. No entanto, o controle DataGridView pode exibir dados não associados armazenados no controle, dados de uma fonte de dados associada ou dados associados e não associados juntos. Você também pode implementar o modo virtual no DataGridView controle para fornecer gerenciamento de dados personalizado. Para obter mais informações, consulte Modos de Exibição de Dados no controle DataGridView dos Windows Forms.
Várias maneiras de personalizar a exibição de dados O DataGridView controle fornece muitas propriedades e eventos que permitem especificar como os dados são formatados e exibidos. Por exemplo, você pode alterar a aparência de células, linhas e colunas dependendo dos dados que contêm ou pode substituir dados de um tipo de dados por dados equivalentes de outro tipo. Para obter mais informações, consulte Formatação de Dados no controle DataGridView dos Windows Forms.
Várias opções para alterar a aparência e o comportamento da célula, linha, coluna e cabeçalho O DataGridView controle permite que você trabalhe com componentes de grade individuais de várias maneiras. Por exemplo, você pode congelar linhas e colunas para impedir que elas rolem; ocultar linhas, colunas e cabeçalhos; alterar a maneira como os tamanhos de linha, coluna e cabeçalho são ajustados; alterar a maneira como os usuários fazem seleções; e forneça Dicas de Ferramentas e menus de atalho para células, linhas e colunas individuais.

O DataGrid controle é mantido para compatibilidade com versões anteriores e para necessidades especiais. Para quase todos os fins, você deve usar o DataGridView controle. O único recurso disponível no DataGrid controle que não está disponível no DataGridView controle é a exibição hierárquica de informações de duas tabelas relacionadas em um único controle. Você deve usar dois DataGridView controles para exibir informações de duas tabelas que estão em uma relação mestre/detalhe.

Atualização para o controle DataGridView

Se você tiver aplicativos existentes que usam o DataGrid controle em um cenário simples associado a dados sem personalizações, você poderá simplesmente substituir o controle antigo pelo novo controle. Ambos os controles usam a arquitetura de associação de dados padrão do Windows Forms, portanto, o DataGridView controle exibirá seus dados associados sem nenhuma configuração adicional necessária. Talvez você queira aproveitar as melhorias de associação de dados, no entanto, associando seus dados a um BindingSource componente, que você pode associar ao DataGridView controle. Para obter mais informações, consulte BindingSource Component.

Como o DataGridView controle tem uma arquitetura totalmente nova, não há um método direto de conversão que permita que você use DataGrid personalizações com o DataGridView controle. No entanto, muitas DataGrid personalizações são desnecessárias com o DataGridView controle devido aos recursos internos disponíveis no novo controle. Se você tiver criado tipos de coluna personalizados para o DataGrid controle que deseja usar com o DataGridView controle, precisará implementá-los novamente usando a nova arquitetura. Para obter mais informações, consulte Personalizando o controle DataGridView dos Windows Forms.

Consulte também