IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

[VC# NET 2.0] - DataSet - ReadXML - Lenteur


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Étudiant
    Inscrit en
    Septembre 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2006
    Messages : 133
    Par défaut [VC# NET 2.0] - DataSet - ReadXML - Lenteur
    Hello,

    Voila,

    J'ai un DataSet que je charge avec sa proprieté ReadXml au début de l'appli, et la c'est très rapide.



    Par contre, lorsque je refais cette même manip une fois l'appli lancée (même en faisant un Clear), ça devient ... très lent ...

    J'ai des ListBox bindée sur des tables, j'ai essayé de faire des Begin/EndUpdate sur les ListBox mais ça ne change rien, on voit que les ListBox se redessinent en même temps que le chargement...



    Savez-vous comment faire svp pour résoudre ce prob ?

  2. #2
    Membre confirmé
    Étudiant
    Inscrit en
    Septembre 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2006
    Messages : 133
    Par défaut
    PS: en désactivant la form, le problème reste le même.

    Si je charge le XML depuis une page ou il y'a un composant qui fait du binding, c'est super long...

  3. #3
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    Bonjour,

    Tu as essayé de désactiver le bind pendant le chargement du fichier XML et de le réactiver une fois le DataSet totalement chargé ? A mon avis, si tu as des contrôles bindés sur ce DataSet, il est très probable effectivement que ces contrôles soient updatés à chaque insertion de nouvelle ligne dans le DataSet. En effet, un DataSet est composé de DataTable lui même composé de DataRow. Lors du chargement, l'événement TableNewRow est probablement lancé (je ne vois pas pourquoi ça ne serait pas le cas) pour indiquer qu'il y a eu ajout d'une nouvelle ligne, ce qui oblige tes contrôles bindés à se mettre à jour à chaque insertion.

  4. #4
    Membre confirmé
    Étudiant
    Inscrit en
    Septembre 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2006
    Messages : 133
    Par défaut
    J'ai essayé plein de trucs pour désactiver le Binding avec Begin/EndUpdate, même sur le DataSet, les bindingDataSource, mais ... j'ai toujours rien trouvé.

    PS: je pense que le composant listBox est aussi en cause (j'ai aussi essayé avec Enabled à false/true), car il se redessine pendant le rechargement...

    On dirait qu'il y'a plein de truc à arrêter/redemarrer.



    Sais-tu comment faire stp ? C'est mon + gros prob pour mon log lol @++

  5. #5
    Membre confirmé
    Étudiant
    Inscrit en
    Septembre 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2006
    Messages : 133
    Par défaut
    A mon avis, il faudrait avec une fonction parcourir tous les composants de la form, et désactiver les DataSource, puis les réactiver --> bonne idée ???

  6. #6
    maa
    maa est déconnecté
    Membre éclairé
    Avatar de maa
    Inscrit en
    Octobre 2005
    Messages
    672
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Octobre 2005
    Messages : 672
    Par défaut
    A mon avis, il faudrait avec une fonction parcourir tous les composants de la form, et désactiver les DataSource, puis les réactiver --> bonne idée ???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                BindingContext[myDatasource].SuspendBinding();
    non ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Outils][ADO.NET]Quelles différences DataSet/Hibernate ?
    Par kunfuka dans le forum EDI/Outils
    Réponses: 8
    Dernier message: 16/01/2006, 21h37
  2. [Vb.net] ligne du dataset
    Par prophetky dans le forum Windows Forms
    Réponses: 2
    Dernier message: 21/12/2005, 10h05
  3. [VB.NET] Partager un dataset entre 2 windows forms ???
    Par kissskoool dans le forum Windows Forms
    Réponses: 11
    Dernier message: 26/07/2005, 11h34
  4. [VB.NET] Alimenter un dataset avec une chaine XML...
    Par David.V dans le forum ASP.NET
    Réponses: 3
    Dernier message: 25/05/2004, 09h09
  5. [VB.net][PostgreSQL & ODBC] DataSet => NO_DAT
    Par rebolon dans le forum Accès aux données
    Réponses: 2
    Dernier message: 28/01/2004, 09h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo