A diferença entre um DataGrid e um GridView em ASP.NET?

Tenho feito ASP.NET desenvolvimento por um pouco agora, e eu usei tanto o GridView e os controles DataGrid antes para várias coisas, mas eu nunca poderia encontrar uma razão realmente boa para usar um ou outro. Gostaria de saber:

Qual é a diferença entre estes 2 ASP.NET controlos? Quais são as vantagens ou desvantagens de ambos? Um é mais rápido? Mais novo? Mais fácil de manter?

O resumo intellisense para os controles não parece descrever nenhum diferença entre os dois. Ambos podem visualizar, editar e ordenar dados e gerar automaticamente colunas no tempo de execução.

Edit: Visual Studio 2008 já não Lista DataGrid como um controlo disponível na caixa de ferramentas. Ele ainda está disponível (para suporte legado, eu presumo) se você digitar a mão no entanto.

 44
Author: Dan Herbert, 2008-08-07

8 answers

DataGrid foi um ASP.NET 1.1 controlo, ainda suportado. O GridView chegou ao 2. 0, tornando certas tarefas mais simples adicionou diferentes funcionalidades de base de dados:

Esta ligação tem uma comparação das funcionalidades DataGrid e GridView -

Https://msdn.microsoft.com/en-us/library/05yye6k9 (V = vs. 100).aspx

 41
Author: Kev, 2015-12-13 12:24:06

O DataGrid estava originalmente em. Net 1.0. O GridView foi introduzido (e substituiu o DataGrid) no.NET 2.0. Eles fornecem funcionalidades quase idênticas.

 7
Author: Brandon Wood, 2008-08-07 01:05:56

O controlo GridView é o sucessor do controlo DataGrid. Como o controle DataGrid, o controle GridView foi projetado para exibir dados em uma tabela HTML. Quando ligado a uma fonte de dados, o DataGrid e GridView controlam cada uma mostra uma linha de um DataSource como uma linha numa tabela de saída.

Ambos os controlos DataGrid e GridView são derivados da classe WebControl. Embora tenha um modelo de objeto semelhante ao do controle DataGrid, o Controle de GridView também tem uma série de novas características e vantagens sobre o controlo DataGrid, que incluem:

    Capacidades de design-Tempo Mais Ricas.
  • capacidade melhorada de ligação à fonte de dados.
  • tratamento automático da ordenação, chamada de pessoas, actualizações e apagamentos.
  • tipos de colunas adicionais e operações de colunas de projecto-tempo.
  • uma interface personalizada de utilizador do pager (UI) com a propriedade PagerTemplate.

As Diferenças entre o controlo GridView e o controlo DataGrid incluem:

  • diferente suporte personalizado de chamada de pessoas.
  • diferentes modelos de eventos.

A ordenação, a chamada de pessoas e a edição dos dados no local requerem codificação adicional ao usar o controlo DataGrid. O controlo GridView permite-lhe adicionar capacidades de ordenação, paginação e edição sem escrever nenhum código. Em vez disso, você pode automatizar essas tarefas, juntamente com outras tarefas comuns, como a ligação de dados a uma fonte de dados, definindo propriedades no controle.

 7
Author: Suhaib Janjua, 2014-02-20 07:47:19
Se estás a trabalhar no Visual Studio 2008/. Net 3.5, provavelmente também não devias usar. Use o ListView-ele lhe dá as características do GridView combinado com a flexibilidade de estilo de um repetidor.
 5
Author: Jon Galloway, 2008-08-18 15:52:36

A principal diferença reside na IIRC da administração do Estado de visão. O DataGrid requer o ViewState ligado para ter recursos de edição e ordenação.

 1
Author: Andrei Rînea, 2008-08-18 15:42:29

Uma diferença fundamental em termos de segurança é que o DataGrid usa uma coluna encadeada que não code os dados encadernados. Também não há propriedade para ligar ou desligar o HtmlEncoding, por isso tens de o fazer em código de alguma forma.

O GridView usa o BoundField, que faz o HtmlEncode por omissão nos dados do bound e tem uma propriedade do HtmlEncode se precisar de o desligar.

 1
Author: slolife, 2012-07-09 22:20:11

Alguma diferença básica entre a grelha e a vista de detalhes

O controlo do GridView também tem uma série de novas funcionalidades e vantagens sobre o controlo do DataGrid, que incluem:

· capacidades de design-Tempo Mais Ricas. * Melhoria das capacidades de ligação da fonte de dados. * Tratamento automático de ordenação, paging, atualizações e apagamentos. * Tipos de colunas adicionais e operações de colunas de projeto-Tempo. · Uma interface personalizada de usuário de pager (UI) com a propriedade PagerTemplate.

As Diferenças entre o controlo de grelha e o controlo de DataGrid incluem:: * Suporte de paging personalizado diferente. * Diferentes modelos de eventos.

 0
Author: , 2008-11-21 07:28:09

Uma das diferenças é a saída HTML. Um 'datagrid' irá produzir ' TD 'para o cabeçalho e uma 'gridview' irá produzir 'TH'. isto poderá causar alterações não intuitivas no ecrã.

 0
Author: jmoreno, 2018-04-05 14:47:40