Partilhar via


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

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

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

Controlo de recurso do DataGridView Descrição
Vários tipos de coluna O controlo DataGridView fornece mais tipos de coluna integrados do que o controlo DataGrid. Esses tipos de coluna atendem às necessidades da maioria dos cenários comuns, mas também são mais fáceis de estender ou substituir do que os tipos de coluna no controle DataGrid. Para obter mais informações, consulte Tipos de Coluna no controlo DataGridView do Windows Forms.
Várias maneiras de exibir dados O controle DataGrid é limitado à exibição de dados de uma fonte de dados externa. O controle DataGridView, no entanto, pode exibir dados não acoplados armazenados no controle, dados de uma fonte de dados acoplada ou dados vinculados e não acoplados juntos. Você também pode implementar o modo virtual no controle DataGridView para fornecer gerenciamento de dados personalizado. Para obter mais informações, consulte Modos de Exibição de Dados no controlo DataGridView do Windows Forms.
Várias maneiras de personalizar a exibição de dados O controle DataGridView 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 elas 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 controlo DataGridView do Windows Forms.
Várias opções para alterar a aparência e o comportamento de células, linhas, colunas e cabeçalhos O controle DataGridView 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 forma como os tamanhos de linha, coluna e cabeçalho são ajustados; alterar a forma como os utilizadores fazem seleções; e forneça dicas de ferramentas e menus de atalho para células, linhas e colunas individuais.

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

Atualização para o controlo DataGridView

Se você tiver aplicativos existentes que usam o controle DataGrid em um cenário simples ligado a dados sem personalizações, você pode simplesmente substituir o controle antigo pelo novo controle. Ambos os controles usam a arquitetura de vinculação de dados padrão do Windows Forms, portanto, o controle DataGridView exibirá seus dados acoplados sem necessidade de configuração adicional. No entanto, convém considerar aproveitar as melhorias de vinculação de dados vinculando seus dados a um componente BindingSource, que você pode vincular ao controle DataGridView. Para obter mais informações, consulte o componente BindingSource.

Como o controlador DataGridView tem uma arquitetura totalmente nova, não existe uma maneira simples de converter que permita usar personalizações DataGrid com o controlador DataGridView. Muitas personalizações DataGrid são desnecessárias com o controle DataGridView, no entanto, devido aos recursos internos disponíveis no novo controle. Se você criou tipos de coluna personalizados para o controle DataGrid que deseja usar com o controle DataGridView, será necessário implementá-los novamente usando a nova arquitetura. Para obter mais informações, consulte Personalizando o controle DataGridView do Windows Forms.

Ver também