Gaxx
Messages postés28Date d'inscriptionlundi 20 décembre 2004StatutMembreDernière intervention19 mars 2008
-
8 avril 2005 à 16:51
Gaxx
Messages postés28Date d'inscriptionlundi 20 décembre 2004StatutMembreDernière intervention19 mars 2008
-
8 avril 2005 à 17:18
Bonjour,<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
J’ai un soucis de mise à jour de datagrid (validation d'ajout de lignes dans le datatable correspondant) : dans mon programme j’utilise 3 datagrid, à chaque datagrid correspond un dataset en variable d’instance. Pour le remplissage et la mise à jour de mes datagrid j’utilise systématiquement un datatable défini dans mes fonctions.
Le remplissage de mes datagrid se fait sans erreurs mais pour l’un des trois datagrid mon programme met un temps relativement long. Cela se passe toujours sur le même datagrid quelque soit l’odre de remplissage des datagrid. Mon programme freeze et le proc est utilisé à fond (50% sur un P-IV HT) puis fini l’affichage :
Affichage en boucle de la ligne : « Console.WriteLine("ienum.MoveNext()..."+zar+++"-"+zor++); »
Freeze du programme et travail processeur
Affichage de la ligne : « Console.WriteLine("fini"); »
Par contre, ma mise à jour se fait normalement (aucun freeze).
Je pense que cela est anormal mais je n’ai aucune idée sur la manière de trouver le problème exact et donc sa solution.
Mon problème n’est pas bloquant mais il est gênant et semble être corrigible.
Ci-dessous le code de déclaration des objets nécessaires au datagrid et le code de remplissage du datagrid (les deux autres datagrid sont construits et remplis de la même manière) :
Gaxx
Messages postés28Date d'inscriptionlundi 20 décembre 2004StatutMembreDernière intervention19 mars 2008 8 avril 2005 à 17:18
PS : Tel quel le code ne fonctionne pas car j'ai remplacé sans tester les FGTrans_dgDocAEmettre.BeginInit(); et FGTrans_dgDocAEmettre.EndInit(); par FGTrans_dgDocAEmettre.BeginEdit(); et FGTrans_dgDocAEmettre.EndEdit();
Donc il ne faut pas prendre en compte les appels à BeginEdit(); et à EndEdit(); et là ça compile et ça fonctionne (lentement ).