begin process at 2010 02 10 06:32:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

.NET

 > 

Arraylist 2 datagrid --> performance


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

Arraylist 2 datagrid --> performance

vendredi 5 mai 2006 à 17:42:56 | Arraylist 2 datagrid --> performance

ylerazer

Membre Club
Bonjour,

je me permets de vous écrire car j'ai un problème puissant :

J'ai un arraylist d'objets nombreux qui ont une vie intense : ( je récupère des prix de marché en temps réel et fait des calculs sur ces prix .... )
Sans interface graphique tout va bien ... Il faut compter 2500 objets et des mises a jour de manière aléatoire mais en général toutes en meme temps....

Maintenant je dois présenter des résultats à de gentils utilisateurs .... et ca se complique ...
"binder" 2500 object dans un datagrid ... à chaque fois qu' un objet bouge ... ca fait beaucoup.... et ma CPU prend chère ...

Mon idée est la suivante ... je n'aimerais binder que ce que je veux voir ....
a savoir si mon utilisateur veux voir un sous ensemble de mes objets ... alors je ne bind que ceux ci ( l'arraylist total continuant à se mettre à jour en mémoire ... ) et meme mieux j'aimerai ne binder que ceux affiché à l'écran.... What you see, is not all what I have :)

avez vous une idée ???
vendredi 5 mai 2006 à 20:17:47 | Re : Arraylist 2 datagrid --> performance

fredgont

L'utilisateur a t'il la possibilité de modifier les chiffres?
Sinon, dans ce cas l'utilisation d'une vue sur les données (stockées dans un dataset en mode connecté à une base de donnée) permettrait de limiter les calculs, non?
Même une base access (mais bon...) pourrait faire l'affaire, la charge de travail serait répartie sur deux applications, une qui charge et modifie les données dans la base, la deuxième qui les consultent ou les modifie sur un datagrid connecté au dataset lui même connecté sur la base.
Cela dépend de la réactivité dont vous avez besoin, un dataset représrente une vraie base de donnée chargée en mémoire, qui est fonctionne soit en mode synchrone soit en mode asynchrone (ce dernier pour être réactif peut être géré dans un thread)
voila à quoi je pense, il doit exister d'autres solutions j'imagine..
dimanche 7 mai 2006 à 09:23:54 | Re : Arraylist 2 datagrid --> performance

ylerazer

Membre Club
Merci pour votre réponse...
en fait, après avoir discuté avec un ami ... je vais me lancer dans l'héritage d'un dataTable... pour que ce soit le dataset qui l'héberge qui gère mon affichage ... (il m'a parlé du paging ... qui permet de gérer q'un nombre limité d'enregistrement à l'affichage ... )
Du coup c'est mon beau modèle qui va voler en éclat ....

Je vous tiendrai au courant

Merci encore
mardi 9 mai 2006 à 21:50:09 | Re : Arraylist 2 datagrid --> performance

ylerazer

Membre Club
Re ...

Bon ça pue le poney ... en fait ... le System.windows.forms.datagrid ( si je me souviens bien du chemin .. ) n'a pas la possibilité de faire du paging .... du coup j'ai tout cassé pour rien ...
En plus ... modifier un datatable est bien plus long qu'un Arraylist ... et la ma CPU prend très chère ... je vais donc devoir gérer moi meme la communication entre mon ArrayList et l'affichage ... sous forme d'un dataTable qui ira peupler à la demande les objets qui l'intérroge ...

pfffffffff - je suis vert....
vendredi 12 mai 2006 à 00:42:27 | Re : Arraylist 2 datagrid --> performance

fredgont

bon courage...
de mon côté je travaille avec les control web datagrid, qui sont aussi un peu ch... à gérer. En fait, il semble plus facile (dans le cas où l'on connais le nb de colonnes à afficher) de créer à la main dans le code asp les colonnes avec la propiété datafield qui permet de de binder avec une datatable. Le bindage se fait grace au nom de colonnes qu'il faut avoir préalablement entrés dans le code .net, on peut donc choisir les colonnes que l'on veux afficher. J'ai essayé plusieurs fois de binder une arraylist, sans résultats trés éloquents. 
Casser pour casser:
Quant à tes calculs, ne serait il pas plus simple (et moins chére en cpu) de déléguer tout l'aspect calculs et chargement des données à une base de données, avec des triggers dessus (à l'insert ou update) et des proc stockées qui se charge du calcul, la charge serait divisée sur deux machines!
mercredi 15 juillet 2009 à 17:58:40 | Re : Arraylist 2 datagrid --> performance

watabou


( Je parle au niveau web )
Par défaut seul les éléments affichés sont bindés.
Ex :
100 000 élements récupérés en bdd et mis en source d'un afficheur de données affichant 20 éléments, lors du databind() il va binder tes 20 premiers éléments seulement : seul les éléments affichés sont envoyé du coté client ( et encore heureux ! ).


Si après c'est du coté serveur ( tu es en form donc bon .. ) que tu ne veux pas récupérer tes 100 000 éléments en bdd : une procédure stocké, la simple requête ou du linq to sql fonctionne.

Je pense que tu trouveras ton bonheur sur ce très bon post de ScottGu:

Linq To Sql : Exemple complet




Bastien Besson



Cette discussion est classée dans : arraylist, datagrid, objets, binder, performance


Répondre à ce message

Sujets en rapport avec ce message

sockets et objets [ par michel_roger ] Salut tlm, je suis en train de m'attaquer aux sockets en C#, g réussi à faire marcher qqs trucs (connexion, envoi de chaines, ...) mais je me demandai [.NET] [C#] Datagrid et ArrayList [ par audweiller ] Bonjour, J'aimerais réussir à remplir un datagrid à l'aide d'un arrayList en C#.J'ai essayer le code suivant : dgProduits.DataSource = produits; mais [c#]lire un arraylist [ par engelho ] Bonjour,J'utilise un arraylist pour stocker des objets. Ces objets sont des occurences d'une classe que j'ai écrite. Je souhaite récupérer le premier ArrayList + Controle [ par emmanuel9 ] Bonjour à tous, J'ai une arraylist d'objets "Personne" et je voudrais vérifier si cette ArrayList ne contient pas deux fois, voir plus, le même objets DataGrid Vide [ par seblx ] Bonjour à tous,J'édite un ArrayList au travers d'un dataGrid. Donc, j'arrive parfaitement à faire tous ce que je veux à part une chose. Y-t-il un moye Probleme avec les datagrid et les arraylist en C# [ par loyousse ] Bonnour tout le monde, je vous écris parce que j'ai un petit probleme avec C#. J'aimerais savoir comment on fait pour lier une arraylist et un datagr Performance entre ArrayList et une collection personalisé [ par rodcobalt22 ] Bonjour, j'aimerai avoir un avis fiable sur la différence de performance entre une ArrayList et une classe héritant de CollectionBase. Sachant que l' Sérialisation d'une ArrayList [ par vecchio56 ] Bonjour,J'ai un petit problème quand j'essaie de sérialiser une ArrayList. Apparemment, les objets contenus dans la liste sont d'un type inattendu. J' ArrayList et objets [ par engelho ] Bonjour,Je suis en train de mettre en place une ArrayList dont chaques élément est un objet (tiré d'une classe que j'ai écrit plus tôt).Pour l'afficha Trier un Datagrid avec datasource=ArrayList [ par kerseub ] Bonjour à tous.Je travail sur une application qui me remonte des infos depuis une base de données, au travers d'un mapping avec Nhibernate.Ce mapping


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,827 sec (4)

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