TRAVA DURANTE PREENCHIMENTO DE GRID

CAIO.FR.SP 08/03/2014 01:18:11
#435672
Galera mais uma duvida aqui
tenho uma tela de consulta onde o sistema pode retornar 75 000 linhas do banco, e enquanto ele preenche a grid o sistema fica travado de 10 a 20 segundos, alguem pode dar alguma dica para melhorar esse processo?

pensei em usar thread sera que melhora?
GUIMORAES 08/03/2014 09:27:31
#435677
Acho que uma solução simples seria utilizar paginação.

Você também pode limitar a quantidade de registros na query, não sei se isto é viável para o seu caso, mais melhora bastante o desempenho.

O uso de thread não irá melhorar muito, o que pode ocorrer neste meio tempo é que a tela é apresentada mais a grid não é preenchida.

Como você está preenchendo sua grid, via dataTable, dataSet ou através de um List<T>?
NILSONTRES 08/03/2014 09:36:23
#435679
Vc quer melhorar o quesito performance ou visualização ?
Se for Performance, a solução do GUIMORAES123 é uma boa.
Se for Visualização, eu colocaria uma barra de progresso em conjunto com uma thread, de 20 segundos vai passar + ou - para uns 30 a 35, mas informa o usuario sobre o processo e libera o sistema.
CAIO.FR.SP 08/03/2014 10:15:50
#435681
O que eu quero é não deixar o usuario esperando a tela ficar disponivel, porque esta assim, o usuario clica para abrir a tela de pesquisa de contas a receber ai no evento show do formulario eu preencho a lista e ai a tela fica sem responder todo esse tempo
CAIO.FR.SP 08/03/2014 11:13:07
#435683
preencho a grid com um List<T>
GUIMORAES 08/03/2014 11:57:48
#435689
Gosto do List<t>, mas as vezes com muitos registros sinto um gargalo no mesmo.
Acho que no framework 4.0 está mais ágil, porem não sei qual framework está usando.

Sugiro que faça um teste com o DataTable para verificar se terá mais desempenho.

Agora vem outra questão, você tem mesmo a necessidade de carregar 75000 linhas?

NILSONTRES 08/03/2014 13:07:11
#435691
Caramba, Contas a receber 75.000 linhas, que maravilha, rsrsrs
CAIO.FR.SP 08/03/2014 13:36:54
#435692
GUIMORAES123, NILSONTRES, são 75.000 linhas ao total, somando as que ja forão pagas, as em aberto são 36.000 +-.

Citação:

Sugiro que faça um teste com o DataTable para verificar se terá mais desempenho.



fiz a consulta no proprio db e quase não houve diferença no tempo de resposta.

Citação:

Agora vem outra questão, você tem mesmo a necessidade de carregar 75000 linhas?



tudo depende dos filtros que o usuario usar, se acaso não usar nenhum filtro, então o sistema tem que retornar todos os registros mesmo.

acho não vou chamar a consulta no show do form, assim pelomenos a primeira tela fica pronta para o usuario
e vou colocar um panel com alguma informação tipo [Ô]Aguarde...[Ô], durante o tempo que a tela esta sendo preenchida, deve disfarçar um pouco... kkk
Tópico encerrado , respostas não são mais permitidas