begin process at 2012 02 12 10:53:04
  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

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 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 Copie de fichier sur VB ?? [ par nico8001 ] Bonjour, J'ai un projet à realiser je travaille sur visual basic 2008 et avec une base de données access 2000 en faite j'ai des fichiers à copier copier les données de la DataGridView vers un fichier PDF [ par bgame ] Salut ts le mande, dans mon application VB j'aime copier les données de DataGridView dans un fichier PDF ou Word. merci[^^happy17] VB Excel [ par RichRich59 ] Bonjour, J'ai un problème. J'ai deux fichier Excel. Un fichier de données, et un fichier de resultat. J'aimerais que le fichier des données puiss vb 2008 [ par mimou89ch ] je veux créer un form qui sert à faire des modifications à un fichier excel (ajouter des données, supprimer des données et trier des données dans un t 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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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 : 6,256 sec (3)

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