nerix27
Messages postés86Date d'inscriptionjeudi 23 octobre 2003StatutMembreDernière intervention21 juin 2007
-
4 oct. 2005 à 17:45
nerix27
Messages postés86Date d'inscriptionjeudi 23 octobre 2003StatutMembreDernière intervention21 juin 2007
-
10 oct. 2005 à 09:49
Bonjour à tous,
dans le cadre d'un projet, j'ai personnalisé un checkedlistbox afin qu'il ressemble au filtrage automatique d'Excel...
Le problème est que la checklistbox reçoit au maximum 1600 lignes pour une vingtaine de colonnes...
Deux problèmes en découlent : l'affichage de la checkedlistbox est vraiment longue, et le déplacement avec les scrollbars est saccadé...
J'ai mis plusieurs balises dans mon code pour voir ce qui prenait le plus de temps dans l'affichage de la checkedlistbox...Mais le remplissage en lui même est hyper rapide...
Ma fonction de remplissage se passe rapidement, et apparemment, mon prog attend que toutes les données soient dans la mémoire virtuelle pour pouvoir afficher la listbox...
Pour le ralentissement lors des déplacements, je pense que la puissance du poste sur le lequel on exécute le problème est capitale...Mais alors pourquoi un gros tableau sous Excel ne saccade pas ???
taoetc
Messages postés346Date d'inscriptionlundi 8 septembre 2003StatutMembreDernière intervention 3 septembre 20073 5 oct. 2005 à 09:05
Heu , difficile à dire , c'est un probleme de raffraichissement de l'affichage dans la checklisbox
Ce qui saccade, c'est en effet l'affichage des lignes et sur un pôste plus puissant, cela ira plus fvite , forcément.
Pourquoi c'est plus lent qu'un tableau excel? bonne question. Ton tableau excel est composé de cellule , comme une datagrid, alors une cheecklistbo est composée d'objet checkbox qui ont plus de données , et qui sont plus complexe à implémenter et gérer.
notons quand meme qu'il y a des problèmes avec cette checklisbox qui n'est pas la plus grand réussite du monde dans vs2003 et peut ete que tu auras de bonne surprise avec vs2005
In the mood for ... ba heu, for quelque chose qui est vachement bien ( oui je sais , n'importe quoi)
cs_69chris
Messages postés318Date d'inscriptionjeudi 30 janvier 2003StatutMembreDernière intervention30 décembre 20051 5 oct. 2005 à 09:06
Salut,
Ce qui est lent pour toi c'est l'affichage. Donc dis nous un peux
comment tu fais pour dessiner tous ça. Y a peut-être quelque chose
qu'on pourrait voir.
Question-Conseil : As tu mis le double buffer (SetStyle du Control que tu as crée)
nerix27
Messages postés86Date d'inscriptionjeudi 23 octobre 2003StatutMembreDernière intervention21 juin 20072 10 oct. 2005 à 09:49
Bonjour,
merci pour la piste du datagrid : je vais essayer de gérer mes données avec ceci pour voir si j'y gagne en fluidité...Et si j'y perd pas de trop en esthétique... :)
Vous donner un bout de code serait un peu difficile car la checkedlistbox est intégrée dans une bibliothèque de classe, cette dernière me permettant d'améliorer un peu la checkedlistbox en ajoutant des sortes de filtres comme dans Excel (filtres automatiques)...
Donc l'étude de la classe va vous ennuyer à mourir...
Je vais déjà essayer de voir pour un datagrid, et après je verrai...