LISTVIEW OU DATAGRID

CHDSSANTOS 14/09/2015 08:02:10
#451353
Olá pessoal!

Gostaria de saber as opiniões de vocês referentes aos controles Listview e Datagrid para VB6.
Minha curiosidade é referente as vantagens de cada um, por exemplo: Hoje uso o Listview para carregar dados de pendencias de clientes específicos, como cada cliente possui quantidades variáveis, as vezes, um cliente tem um ou duas linhas preenchidas, mas as vezes mil ou duas mil linhas.

Dito isto, gostaria da opinião de vocês sobre as vantagens e desvantagens de cada um?
Se vale a pena ou não, para minha utilização atual, começar a usar o Datagrid?
TUNUSAT 14/09/2015 08:30:35
#451356
CHDSSANTOS,

Sua decisão precisa de embasamento técnico e pessoal. Exemplos:
- [Ô]Listview[Ô] é somente leitura (técnico);
- Particularmente eu não gosto de [Ô]bound controls[Ô] (pessoal);

==========================================================
Listview versus DataGrid??
http://bytes.com/topic/visual-basic-net/answers/375077-listview-versus-datagrid
Citação:

The most easy decission is that the listview is a readonly control (with exception from some dump action in the first column in detail view), while the datagrid is a read and edit control.


Tradução Google + um ajudinha...
O decisão mais fácil é que o listview é um controle somente leitura (com exceção de alguma ação de despejo na primeira coluna na vista de detalhes), enquanto o datagrid é um controle de ler e editar.
==========================================================
Differences between DataGrid, FlexGrid and ListView
http://www.vbforums.com/showthread.php?508534-Differences-between-DataGrid-FlexGrid-and-ListView
Citação:

In my opinion you should NEVER use the DataGrid as that is a bound control, and bound controls should be avoided more strenuously than my mother in-laws meatloaf.


Tradução Google:
Na minha opinião você nunca deve usar o DataGrid como é que um controle acoplado, e controles acoplados devem ser evitados mais vigorosamente do que meu mãe bolo de carne sogros.
==========================================================

[][ô]s,
Tunusat.
OMAR2011 14/09/2015 08:42:31
#451359
Resposta escolhida
TUNUSAT eu vou discordar um pouco quanto a sua postura.
Onde existe um exemplo de DATAGRID editável.
Até hoje nunca vi nenhum.
Quanto a desempenho segundo testei fica.
Listview,MSHFlexGrid,DATAGRID
E outra, o Listview pode ser editado.
CHDSSANTOS 14/09/2015 08:55:57
#451361
TUNUSAT,

Valeu pelo material! Esclareceu mais o assunto...
No meu caso os dados são apenas de leitura no Lv, mas editados no banco de dados por outros campos. No entanto, nada me impede de permitir a edição diretamente nas colunas de um Datagrid... Na verdade minha duvida era mais voltada a agilidade do carregamento, uso da memoria e coisas assim. Tipo... [Ô]o listview é um controle mais pesado, lento, etc. ou não.

Mas pelo que entendi no artigo devo evitar o datagrid de qualquer maneira, não é?!
CHDSSANTOS 14/09/2015 08:58:12
#451362
OMAR2011,

Obrigado pelo retorno!
Era este tipo de entendimento que estou procurando no assunto.
TUNUSAT 14/09/2015 08:59:30
#451363
OMAR2011,

Tem razão! é possível fazer um listview editável:

=========================================================
VB.NET ListView Tutorial. Add, Edit and Delete
http://www.fryan0911.com/2009/06/vbnet-listview-tutorial-add-edit-and.html
=========================================================
LISTVIEW EDITAVEL
http://www.vbmania.com.br/index.php?modulo=forum&metodo=abrir&id=359553
=========================================================

Ixi, acho que troquei os comandos... desculpe!
Datagrid Editável só no VB.net?

[][ô]s,
Tunusat.
TUNUSAT 14/09/2015 09:03:03
#451364
CHDSSANTOS,

Os comandos do tipo: [Ô]bound controls[Ô] são bem lerdinhos...
=========================================================
DataGrid x ListView - Performace
https://social.msdn.microsoft.com/Forums/pt-BR/28db60a1-bc6b-4bef-bd14-4b3aef149ec9/datagrid-x-listview-performace?forum=vsvbasicpt

Olá Pessoal a quem possa interessar após meses de testes cheguei ao código abaixo diminuindo o tempo do laço abaixo em 50%. Utilizei o método AddRange da ListView.
Obs.: o que está comentado era o código que usava antes deste método.

lstListaDadosPac.BeginUpdate()
[ô]lstListaDadosPac.Visible = False
While dr.Read
Dim _item As New ListViewItem()
_item.Text = [Ô] [Ô] & Format(dr([Ô]Codigo_Pac[Ô]), [Ô]00000[Ô])
[ô]lstListaDadosPac.Items.Add([Ô] [Ô] & Format(dr([Ô]Codigo_Pac[Ô]), [Ô]00000[Ô]))
_item.SubItems.Add(dr([Ô]Nome[Ô]).ToString)
[ô]lstListaDadosPac.Items(lstListaDadosPac.Items.Count - 1).SubItems.Add(dr([Ô]Nome[Ô]).ToString)
_item.SubItems.Add(dr([Ô]Telefone[Ô]).ToString.Substring(0, 4) & [Ô]-[Ô] & dr([Ô]Telefone[Ô]).ToString.Substring(4, 4))
[ô]lstListaDadosPac.Items(lstListaDadosPac.Items.Count - 1).SubItems.Add(dr([Ô]Telefone[Ô]).ToString.Substring(0, 4) & [Ô]-[Ô] & dr([Ô]Telefone[Ô]).ToString.Substring(4, 4))
lstListaDadosPac.Items.AddRange(New ListViewItem() {_item})
End While
lstListaDadosPac.EndUpdate()
[ô]lstListaDadosPac.Visible = True


Abs.
Fabiano Nalin
=========================================================

[][ô]s,
Tunusat.
CHDSSANTOS 14/09/2015 09:12:26
#451365
TUNUSAT e OMAR2011, muito obrigado pela aula!

Com o material e as respostas de vocês tive minhas duvidas totalmente esclarecidas.

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