THREAD PROBLEMA

FLEFLE 26/03/2013 18:48:52
#421087
KERPLUNK não vou mentir pra você que eu entendi 100% o que você quis passar pra mim no código... Consegui entender bem a ideia, vamos dizer que 80% deu pra entender (não que você tenha explicado de forma incompreensível, mas e novo pra mim algumas coisas)... Entender no caso e compreender...

No caso a thread só entraria na parte de ler os Dados do banco de dados....

A parte de preenchimento dos resultados e de execução do programa (FORM) ficariam livres.....

Desculpa a ignorância e que essa parte mais complexa de programação comecei a entender e ter a necessidade de usa-las somente agora, por isso estou sofrendo!!!!
NILSONTRES 26/03/2013 19:11:13
#421090
KERPLUNK,
Citação:

2 - Por que preencher um grid manualmente, linha a linha, quando se pode simplesmente usar um DataReader e um List<T> passando o mesmo como DataSource


Eu não carreg datagrid com DataSource, faço tudo linha a linha, muitas vezes é preciso para formatar as colunas e linhas como desejo.
Salvo raramente grids que não precisam de nenhum tipo de formatação.
Exemplo: As colunas checbox, combobox, são totalmente bugadas, por isso eu crio via antigo vb, com fonte tipo widings.
Como Você faz nesses casos , em que precisa de formatção ?, lembrando que em alguns casos, essa formatação tem de ser no ato do carregamento dos dados.
A não ser em casos de quantidades absurdas de registros notei alguma diferença no desempenho de uma forma para a outra.
OCELOT 26/03/2013 19:13:58
#421091
Discordo desse seu exemplo com o pseudo código KERPLUNK, se entendi direito você quer ler todos os itens do DataReader de uma vez, mas a parte mais lenta seria percorrer o DataReader, coisa que não pode ser feita em paralelo. Se você tivesse todos os itens já em um list isso poderia ser muito útil, mas como se trata de um DataReader onde os itens devem ser lidos um de cada vez, ainda mais que não é garantido que seja seguro usar um mesmo DataReader em vários threads

No caso dele em que a consulta demora devido a limitação da banda e pela latência o acho que o melhor mesmo é uma thread para executar a consulta em segundo plano, seja como for, se for pro DataAdapter e DataSet, DataReader e criando objetos para representar os dados como você disse ou até mesmo usando algum framework ORM como o Entity Framework entre outros, no caso do exemplo que dei fiz usando um DataAdapter mesmo para manter o mais simples possível o exemplo, eu mesmo não uso códigos desse tipo a muito tempo, geralmente uso o Xpo da DevExpress como ORM e a muito tempo que não uso SQL diretamente em meu código.

Uma coisa interessante também é que com o VS.Net 2012 e com o Async/Await ficou muito mais simples fazer códigos que rodam em segundo plano, e inclusive é possível tirar proveito dele com o .Net 4.0 usando algumas bibliotecas que adicionam suporte ao Async/Await nele, o problema é que quem não está acostumado a trabalhar com Threads pode ficar meio perdido com o onde cada parte do código dentro de um método Async vai executar, já que parte pode rodar no thread principal, parte pode rodar em outros threads
NILSONTRES 27/03/2013 13:43:33
#421119
Realmente, fiz novos testes e não vale a pena carregar dados em datagrid via datasource, vem sem formatação nemhuma. O trabalho que vc tem para formatar não vale a pena.
FLEFLE 27/03/2013 14:24:04
#421121
Sim ele tem suas vantagens e suas desvantagens, porem resolveu meu problema das Scrollbars, porem sempre aparece outro.....

Teria como eu preencher o grid linha a linha e não dar o problema da scrollbar???

Tem algumas coisas que eu formato na hora de jogar pro grid por isso acho melhor preencher linha a linha!!!!!!

OCELOT até agora suas ideias tem dado certo do jeito que espero, será que me ajuda nessa também ??? :)
Página 2 de 2 [15 registro(s)]
Faça seu login para responder