Charger un datagridview en arrière plan [Résolu]

Messages postés
10
Date d'inscription
mercredi 10 décembre 2003
Dernière intervention
9 juin 2008
- 13 nov. 2007 à 17:54 - Dernière réponse :
Messages postés
10
Date d'inscription
mercredi 10 décembre 2003
Dernière intervention
9 juin 2008
- 15 nov. 2007 à 15:39
Bonjour
J'ai développé un logiciel pour un kiné.
Je doit charger dans une fenêtre tous les clients mais il y en a presque 8000 et c'est un peu long de devoir attendre à chaque fois que je la recharge.
J'ai donc essayé avec un backgroundworker mais il n'accepte pas de modifier des éléments graphiques.
Comment puis je faire pour remplir ma liste au fur et à mesure et surtout pour faire en sorte que ça ne bloque pas le programme à chaque fois.
merci d'avance
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Dernière intervention
15 juillet 2011
13 nov. 2007 à 19:02
3
Merci
Salut

Tu as plusieurs solutions.

1-> Mettre un beginupdate endupdate pour désactiver le rendu lors du
chargement
2-> Equivalent, mais pas recommandé (pas propre) rendre invisible et
visible le controle apres le chargement
meme effet que l'astuce 1 qui est la bonne méthode.
3-> Mettre en place une pagination sur la datagridview.
http://www.vb-tips.com/dbPages.aspx?ID=5dbe894a-a7e6-434c-bd84-73494c71063f
(ce source montre peut etre comment mettre en place)

bon coding

Merci nhervagault 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de nhervagault
Meilleure réponse
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Dernière intervention
15 juillet 2011
13 nov. 2007 à 20:54
3
Merci
Salut

Excuse apparament ca n'existe pas sur ce controle
utilise à la place
datagrid.SuspendLayout()
datagrid.resumelayout()

La pagination, consiste à avoir sur chaque page 50 enregistrement
par exemple

et ensuite des boutons premier precedent suivant dernier

http://www.codeproject.com/useritems/DataGridView_manipulation.asp

voila

Merci nhervagault 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de nhervagault
Meilleure réponse
Messages postés
6069
Date d'inscription
dimanche 13 avril 2003
Dernière intervention
15 juillet 2011
14 nov. 2007 à 18:56
3
Merci
Salut

Ca met quoi comme message ca serait interessant de savoir.
Sinon, je pense que c'est du au fait que le bw et le thread
d'affichage des forms sont différents.

Dans ce cas, il y a une possibilité, pour resoudre le problème
c'est de passer par les invoke et la reflexion.

Mais je pense pas que tu sois obiliger d'utiliser un bw, sinon
débrouilles toi, pour trouver une autre solution.

Ton bw remplit un dataset ou une collection, et apres tu bindes
cette collection.

Pour le invoke
http://www.devnewsgroups.net/group/microsoft.public.dotnet.framework.windowsforms/topic17366.aspx

vas peut etre t'atider
Bon courage.

Merci nhervagault 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de nhervagault
Messages postés
10
Date d'inscription
mercredi 10 décembre 2003
Dernière intervention
9 juin 2008
13 nov. 2007 à 20:27
0
Merci
1 Comment fais tu pour désactiver le rendu pour le chargement

3 Je n'ai pas compris le principe de pagination
Commenter la réponse de L3Fgandalf
Messages postés
10
Date d'inscription
mercredi 10 décembre 2003
Dernière intervention
9 juin 2008
13 nov. 2007 à 23:30
0
Merci
Oki merci beaucoup pour ces renseignements?
Je vais voir ça demain.
Merci ça m'aide déjà
Commenter la réponse de L3Fgandalf
Messages postés
10
Date d'inscription
mercredi 10 décembre 2003
Dernière intervention
9 juin 2008
14 nov. 2007 à 15:35
0
Merci
J'ai essayé mais si je met juste :
datagrid.SuspendLayout()

traitement

datagrid.resumelayout()

c'est toujours aussi lent
et si je fais

datagrid.SuspendLayout()

BW.dowork

datagrid.resumelayout()
Ca plante encore
Commenter la réponse de L3Fgandalf
Messages postés
10
Date d'inscription
mercredi 10 décembre 2003
Dernière intervention
9 juin 2008
15 nov. 2007 à 15:39
0
Merci
C'est effectivement la raison et la solution.
Pour ce qui ne parle pas beaucoup anglais et qui ont le même problème :

http://www.developpez.net/forums/archive/index.php/t-118709.html
Commenter la réponse de L3Fgandalf

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.