LISTVIEW - DATAGRID

USUARIO.EXCLUIDOS 07/06/2007 19:17:27
#220219
Quais as diferenças entre uma Listview e uma DataGrid??? Em que situações é que as devemos utilizar???

USUARIO.EXCLUIDOS 08/06/2007 08:30:58
#220282
Resposta escolhida
Há várias diferenças.

Só para citar a mais nítida, os ListView não são vinculáveis á dados, de modo que você precisa "varrer" o conteúdo de uma tabela e acrescentar os registros que encontrar você mesmo.

Já um DataGrid é vinculável á uma fonte de dados, o que permite não apenas um melhor desempenho do componente, mas também maior velocidade sua no desenvolvimento da aplicação.

Em um datagrid, um campo do tipo FK de uma tabela pode ser mostrado, sem escrever nenhum código, como um ComboBox, permitindo ao utilizador selecionar diretamente o significado do código ao invés de o próprio código. Para aplicar essa funcionalidade em um ListView, você precisará "simular" o posicionamento do ComboBox, por meio de linhas e mais linhas de código, e o resultado não será exatamente bom.

Um datagrid também pode demonstrar massas de dados de modo paginado, ou seja, você pode permitir que apenas "n" registros sejam mostrados em uma página, sem a necessidade de expÃÂ'r ao utilizador as quase sempre incÃÂ'modas barras de rolagem. Para obter o mesmo efeito em um ListView você precisará de mais código.

Por outro lado, um ListView se presta otimamente para simular o DeskTop do Windows®, o componente da área de trabalho. Permite ícones, modos de visualização, operações de arrastar-e-soltar e outras funcionalidades inerentes á esse componente. Em um gridview, alterar o modo de visualização requer uma quantidade de código até absurda, e não há como igualar o resultado final.

E há várias outras diferenças. A principal, portanto, é o fato de que um permite vinculação com dados e no outro não há essa funcionalidade de forma nativa. Todas as demais decorrem dessa.

Resumidamente, o exemplo "ideal" de utilização poderia ser:
GridView = Registros de uma fonte de dados.
ListView = Arquivos de uma pasta do disco.

Espero ter ajudado.

Tópico encerrado , respostas não são mais permitidas