[databinding] formatter/parser les propriétés d'objets bindés.
cs_mathmax
Messages postés403Date d'inscriptionvendredi 28 octobre 2005StatutMembreDernière intervention31 août 2008
-
9 nov. 2007 à 12:38
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 2016
-
20 nov. 2007 à 00:20
Bonjour,
J'aimerais savoir si il y a un moyen de formatter/parser les valeurs d'une colonne d'une DataGridView bindée à une datasource.
Par exemple, la DataGridView est bindée à une liste de produits. Un
objet produit possède une propriété prix qui est de type float. Dans la
colonne prix de la DataGridView on souhaite afficher le prix suivit de
la devise. Je sais que cela est possible à faire avec une textbox par
exemple. Il suffit d'écrire cela :
<!-- BEGIN TEMPLATE: bbcode_code --><!--[if !IE]><-->
<!----><!--[endif]--><!--[if IE]>
<![endif]-->
...
Binding b = new Binding("Text", order, "Price");
b.Format += new ConvertEventHandler(b_Format);
b.Parse += new ConvertEventHandler(b_Parse);
<!-- END TEMPLATE: bbcode_code -->Mais est ce possible quand les sources sont des collections comme dans le cas d'une DataGridView ?
D'autre part j'ai une propriété de type Quantity dans ma classe Product
et je souhaiterais afficher dans une des colonnes de ma DataGridView,
non pas la valeur de sa méthode ToString() mais l'une de ces
propriétés, en l'occurrence sa propriété Value de type float. Est ce
possible ?
Pour l'instant j'ai réussi à résoudre ces 2 problèmes en écrivant ma
CustomSourceView (classe implémentant ITypedList) et en récrivant les
propertyDescriptor dans la méthode GetItemProperties(). Mais j'aurais
aimé savoir si il y une méthode plus simple/traditionnelle de procéder
pour ces 2 cas de figures. Y t-il des pros du databinding dans le coin
?
cs_mathmax
Messages postés403Date d'inscriptionvendredi 28 octobre 2005StatutMembreDernière intervention31 août 2008 10 nov. 2007 à 15:32
Ok mais ça reste limitté. On ne peut pas définir sa propre méthode de formattage ?
Quand est-il pour le parsage ?
Et pour afficher une sous propriété de laa propriété Quantity de product ? Par exemple afficher la propriété Value de Quantity dans une colonne de la DataGridView.
ShareVB
Messages postés2676Date d'inscriptionvendredi 28 juin 2002StatutMembreDernière intervention13 janvier 201626 20 nov. 2007 à 00:20
salut,
tu peux peut être essayer avec l'interface ICustomTypeDescriptor qui doit te permettre d'ajouter des propriétés dynamquement pour le binding...je n'ai jamais creusé le sujet...