begin process at 2010 02 10 16:09:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Windows

 > 

UserControl

 > 

vb 2008 datagridview très lent


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

vb 2008 datagridview très lent

samedi 21 juin 2008 à 14:34:35 | vb 2008 datagridview très lent

philcam

Salut à tous,

j'essaye de charger des données issues d'un simple fichier txt (données séparées par des virgules) dans un datagridview (vb 2008 express)
mais je suis déprimé par la lenteur de l'affichage des données, j'ai essayé avec 50 lignes pour que ça réagisse en moins d'une seconde, et mon fichier fait 1000 lignes
quand je lance avec les milles lignes je suis obligé de killer l'appli car ça rame trop, et pourtant je suis sur un dual-core
décidemment à chaque fois que je me décide à faire un prog en vb.net pour lacher vb 6.0 il y a des trucs comme ça qui me le font regretter
est-ce qu'il y a des astuces pour que ce contrôle soit réactif et fluide ?

merci

samedi 21 juin 2008 à 15:43:53 | Re : vb 2008 datagridview très lent

casy

Membre Club
quel est le code que tu utilise pour afficher ton fichier dans le datagrid ????

.net est certe un peu plus lent en apparence que VB6 mais quand même pas à ce point


---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #    [ Lien ]
samedi 21 juin 2008 à 16:12:58 | Re : vb 2008 datagridview très lent

philcam

en fait j'ai fait un tableau :

Dim Tableau (500, 12)

et ensuite une boucle

For
I = 1 To 500
   
For A = 0 To 11
      DataGridView1.Item(A, I).Value = Tableau (I, A)
   Next
Next

un truc dans ce genre, et ça met des plombes à remplir la grille

samedi 21 juin 2008 à 17:20:50 | Re : vb 2008 datagridview très lent

casy

Membre Club

Es-tu sur que ce soit ce code qui te prenne beaucoup de temps.

Chez moi, il prend moins d'une seconde

---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #    [ Lien ]
samedi 21 juin 2008 à 20:16:37 | Re : vb 2008 datagridview très lent

philcam

j'ai pas dit que c'était le code, c'est le remplissage de la grille qui est long, on voit la jauge verticale de la datagrid qui commence a apparaitre car les lignes sont rajoutées, et puis ça freeze jusqu'à ce que la datagrid soit remplie.

le code est pas compliqué, peut être un peu débutant mais bon :

et là j'ai bridé à 100 entrées sinon c'est la cata.

Private Sub OuvrirToolStripMenuItem1_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OuvrirToolStripMenuItem1.Click

Dim Fichier As String = ""

Dim La(10000, 11) As String

Dim Compteur As Integer = 0

Dim Coll As Integer = 0

Dim I As Integer = 0

Dim A As Integer

If OpenFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then

Fichier = OpenFileDialog1.FileName()

End If

FileOpen(1, Fichier, OpenMode.Input)

Input(1, La(10000, 11))

'place la 1ere ligne inutile du fichier dans le fond du tableau

While Not EOF(1)

Input(1, La(Compteur, Coll))

If Coll < 11 Then

Coll = Coll + 1

Else

Coll = 0

Compteur = Compteur + 1

End If

End While

FileClose()

For I = 0 To 11

DGV1.Columns.Add(I.ToString, La(0, I))

Next

DGV1.RowCount = 101

For I = 1 To 100 'mis a 100 pour eviter le clash sinon c'est la variable compteur

For A = 0 To 11

DGV1.Item(A, I).Value = La(I, A)

Next

Next

End Sub
samedi 21 juin 2008 à 20:59:09 | Re : vb 2008 datagridview très lent

casy

Membre Club
Je ne sais pas quoi te dire.

Je viens de reprendre ton code exactement comme tu l'as mis en faisant sauter la limite de 100 et en remplaçant par compteur comme tu indique.
J'ai importer un fichier représente 2446 lignes dans la grille et cela à mis exactement 812 ms

N'aurais-tu pas d'autres traietements qui se font en parallèle à ton import ?
Ou alors tu as mis des évènements sur la datgrid qui se déclenchent au moment de l'import.

---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #    [ Lien ]
dimanche 22 juin 2008 à 00:56:27 | Re : vb 2008 datagridview très lent

philcam

en fait je viens d'essayer mais avec l'exe généré et non pas en mode debug, et effectivement c'est plus rapide.
mais quand même, quand je bouge la jauge pour faire défiler la datagrid vers le bas c'est loin d'être fluide, ça fait comment chez toi ?

dimanche 22 juin 2008 à 20:47:56 | Re : vb 2008 datagridview très lent

casy

Membre Club

ben non, aucun problème de scrolling particulier, juste un léger clignotement durant le déplacement de la barre mais le rafraichissement est instantané dès que je bouge plus.


---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #    [ Lien ]
lundi 23 juin 2008 à 00:20:22 | Re : vb 2008 datagridview très lent

philcam

bon, j'ai essayé un contrôle utilisateur externe qui suffit largement à l'utilisation que je veux en faire (lamegrid.dll) et nettement plus léger.

merci quand même

mardi 9 septembre 2008 à 12:09:50 | Re : vb 2008 datagridview très lent

koalolo

Ben Je suis face à un problème similaire.

J'utilise un datagridview dans un programme qui ne sert qu'a afficher une sorte de calendrier.
Ce programme je bosse dessus depuis mai.

A l'époque j'avais un Pc avec un P4E de 3.00 ghz, aucun problème d'affichage.
Je viens de changer pour un quadcore, et maintenant le datagridview s'affiche très lentement.

Pour les deux machines j'ai un windows sp2, et j'utilise le même fichier vb et la même version de vb 2008 express, donc à part la config matériel je ne vois pas ce qui peut expliquer cette différence.

Si quelqu'un a une idée...


1 2

Cette discussion est classée dans : fichier, vb, données, datagridview, lent


Répondre à ce message

Sujets en rapport avec ce message

Liaison de données Excel-VB-Excel [ par DoC974 ] Bonjour,Je bloque sur probleme de liaison de donnée.Bon je vais aller directement au coeur du sujet :1/////Il y a un fichier excel qui contient une fe Exportation de paramètres [ par badboy38 ] Bonjour,Je suis en train de faire une application en VB.NET avec VB Express 9 qui nécessite que j'exporte des données dans un fichier, données qui ser vb.net 2005 + Datagridview [ par nzaira ] Bonjour, j'ai un formulaire ( Client ) qui contient un composant datagridview. je veux faire l'insertion,la modification et la suppression des clients VB.Net modifier le contenu d'un fichier Acces dans un DataGridView [ par JeffC1977 ] Bonjour Je cherche un moyen pour afficher mes données d'une BD Acces dans mon DataGridView en modifiant son contenu. Par exemple, si la valeur d'une Pb vb - excel [ par samy56 ] salut à tousJ'explique la situation:je met à jour des données a partir de vb dans un fichier excel,mon fichier excel se rempli nickel, mais ces donnée VB:Copie de données binaire [ par falbala ] Je veux copier des données (binaires) dans un fichier. J'ai testé en copiant tout le fichier et à chaque fois il me rajoute des octets. Par exemple po Extraire données Notepad vers VB? [ par jia2812 ] Slt,En partant d'1 fichier NotePad ou WordPad, je souhaite extraire les données vers 1 des labesl ou textbox ds 1 form de VB, Comment s'y prendre corr HELP HELP [ par reyman ] Je suis novice et j'ai besoin de costaux en VbIl y a 4 choses que j'aimerais faire : 1) Apres avoir sélectionné x grilles et y colonnes dans un contrô reception de données sous VB dans un fichier .txt [ par sebastienbothier ] bonjour tout le mondeje travaille en ce moment avec un multimetre piloté grace à un programme VB que j'ai fait grace notanment à votre aide!cependant base de données native sous VB ? [ par madbob ] BonjourAprès consultation d'une partie des mail sur le forum, je me trouve dans l'obligation de vous poser cette question. Peut on avec VB, créer un o


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales