[OFF] ECONOMIA DE RECURSOS...

JORGESALES 20/02/2017 12:48:40
#471828
Citação:

... é comum ver pessoas reclamando que o programa ficou lento e você vai ver ele está tentando carregar 5 milhões de registros em um Grid


Já passei por isso usando listView, depois que passei a usar uma barra
de progresso e ocultá-la durante o carregamento ficou bem melhor.

JORGESALES 20/02/2017 12:50:39
#471830
Citação:

:Apesar de todas as explicações anteriores, vou tentar acrescentar algo (rs)...


Toda opinião é sempre bem vinda e a sua foi de excelente contribuição.

JORGESALES 20/02/2017 12:52:44
#471831
Citação:

:O fato é que muito dessa [Ô]economia[Ô] pode também ser interpretada
como boas práticas de programação.


Verdade, boas práticas são fundamentais, principalmente no reaproveitamento de
códigos.
NILSONTRES 20/02/2017 14:02:45
#471833
Essa questão de carregar milhares de registros, geralmente é desnecessário, deve haver buscas por parâmetros e não navegar em registros que é coisa desnecessária e ultrapassada, dificilmente isso é preciso.
LLAIA 20/02/2017 14:30:03
#471836
é sempre desenvolver pensando em máquinas modestas, ainda mais se o alvo do nosso software for amplo. O WhatsApp até hoje suporta o Android 2.3.3 : https://www.whatsapp.com/faq/pt_br/android/21166563
OCELOT 20/02/2017 15:12:27
#471839
Citação:

:
... é comum ver pessoas reclamando que o programa ficou lento e você vai ver ele está tentando carregar 5 milhões de registros em um Grid
Já passei por isso usando listView, depois que passei a usar uma barra
de progresso e ocultá-la durante o carregamento ficou bem melhor.



E se eu te disser que existe uma forma de ter um grid que exibe 5 milhões de registros e ele pode abrir praticamente instantaneamente?

Para isso você teria que usar o VirtualMode do DataGridView, que é bem mais complicado de usar já que não é só definir um DataSource, você teria que tratar alguns eventos dele e ir carregando os dados e controlar um cache deles manualmente, fazendo consultas paginadas trazendo poucos registros de cada vez, mas basicamente você poderia ter um grid que parece ter 5 milhões de registro, mas na prática você fez uma consulta que teve apenas 50 registros como resultado, e quando o usuário rola o grid você vai fazendo novas consultas para mostrar as outras linhas.

Esta não só é uma forma mais rápida de mostrar grids com muitos dados como é a forma recomendada de se fazer isso, já que o VirtualMode foi criado especificamente para isso.

Se usar componentes de terceiros é até mais fácil, eu por exemplo uso os da DevExpress, e eles possuem um ServerMode, no caso deles se você usar uma fonte de dados compatível com isso ele basicamente faz o que o VirtualMode do DataGridView faz só que tudo automaticamente.

Citação:

:
Essa questão de carregar milhares de registros, geralmente é desnecessário, deve haver buscas por parâmetros e não navegar em registros que é coisa desnecessária e ultrapassada, dificilmente isso é preciso.


Concordo plenamente, sempre que alguém me pergunta como faz navegação de registros a primeira coisa que faço é perguntar [Ô]qual o motivo de você querer fazer isso?[Ô], e geralmente não conseguem dar uma resposta lógica para isso.

O mesmo para grids, não vejo motivos para isso, eu sempre digo que ninguém usa tanta informação de uma vez só, o único momento válido para se ter tanta informação é na geração de relatórios e mesmo assim quando fica muito grande eu ainda questiono a necessidade disso, pois muitas vezes o que realmente querem ver são os totais.
JORGESALES 20/02/2017 23:14:45
#471852
Citação:

:
Essa questão de carregar milhares de registros, geralmente é desnecessário, deve haver buscas por parâmetros e não navegar em registros que é coisa desnecessária e ultrapassada, dificilmente isso é preciso.


Essa foi boa, em todos os sistemas que crio eu coloco o botão [Ô]Exibir Todos[Ô]
mas agora estou me perguntando qual é mesmo a finalidade disso...
No fundo é só uma questão de esta ali, mas não há uma utilidade real.
JORGESALES 20/02/2017 23:16:05
#471853
Citação:

:
é sempre desenvolver pensando em máquinas modestas, ainda mais se o alvo do nosso software for amplo. O WhatsApp até hoje suporta o Android 2.3.3 : https://www.whatsapp.com/faq/pt_br/android/21166563


Esse também é um ótimo exemplo.
JORGESALES 20/02/2017 23:18:18
#471854
Citação:

:...E se eu te disser que existe uma forma de ter um grid que exibe 5 milhões de registros e ele pode abrir praticamente instantaneamente?...


Até o presente momento só utilizo listView mas se algum dia for
utilizar um Grid vou lembrar de suas palavras e criar um post
pedindo dicas de como fazer isso, parece ser muito didático.
Página 2 de 2 [19 registro(s)]
Tópico encerrado , respostas não são mais permitidas