2010-08-20 6 views
2

J'utilise un DevExpress XtraGrid dans mon projet. J'ai besoin de définir l'apparence d'une cellule spécifique (en particulier, la couleur de fond). Et je ne trouve aucune propriété ou méthode dans la grille qui le fait! La seule façon que je peux voir de faire ceci est en attrapant l'événement RowCellStyle du GridView, et en déterminant si la cellule donnée doit avoir son apparence changée - ce qui est grossièrement inefficace, puisque peut-être 1 cellule sur 100 aura besoin de son aspect modifié, mais l'autre 99 sera encore en cours d'exécution du code pour déterminer si leur apparence a besoin d'être modifiée!Comment définir l'apparence d'une cellule dans une grille DevExpress?

Il doit y avoir une autre façon - mais quoi?

+0

J'avais exactement la même question - cela a fonctionné parfaitement. J'ai trouvé cela utile aussi: http://www.depopo.net/2011/04/devexpress-coloring-individual-cells-or-rows-in-a-gridcontrol-based-on-a-cell-value/ – Alex

Répondre

3

Vous avez trouvé une manière absolument correcte d'implémenter cette tâche - gérez l'événement RowCellStyle et modifiez la propriété e.Appearance. Je peux aussi dire que cet évènement n'est pas très souvent levé et qu'il n'est levé que pour les cellules qui sont actuellement visibles à l'écran. Donc, je suis sûr, vous ne remarquerez pas un ralentissement causé par le code de ce gestionnaire d'événement. Si vous voyez cela, postez un exemple de projet montrant le problème de performance dans le centre de support (http://devexpress.com/Support/Center/) et nous trouverons un moyen de l'améliorer.

+0

OK , J'apprécie que vous surveilliez SO pour des questions sur votre produit! En fait, je pense que le problème a été causé par le fait que le programmeur précédent n'utilisait pas la grille pour son usage prévu, c'est-à-dire une matrice de superposition graphique sur une image avec des tailles de cellule de 5x5 pixels. En gros, cela représente deux fois plus de cellules qu'une grille normale, donc je ne vais pas tenir les problèmes de performance contre vous! J'ai refait tout le design maintenant en utilisant des outils plus appropriés ...;) –

1

C'est comme ça que j'ai dû le faire. Vous pourriez vouloir vérifier le DevExpress Forums, si seulement pour voir si une nouvelle version du contrôle de XtraGrid fait ceci d'une meilleure manière.

Questions connexes