Page 1 sur 1

Autre question aux programmeurs dans la salle

Publié : mar. nov. 04, 2014 1:23 pm
par mas_oyama
J'ai cherché sur le net mais les réponses que j'ai trouvé c'est de la merde

Je suis en VB.Net en 3.5

J'ai un datagrid. Chaque cellule ou presque du datagrid a un objet dans son tag. En gros, quand on modifie une cellule, certains objets de d'autres cellules sont automatiquement modifiés. Je dois donc raffraichir la grille. Je voudrais faire un databinding sur chaque cellule plutot que des mettre les objets dans le tag. Le problème c'est que le bonding, c'est one-way. Si je modifie la cellule, ca modifie la propriété de l'objet. Mais si je modifie la propriété de l'objet, ca ne modifie pas la cellule.

Les réponses sur le net la dessus sont à chier. Je cherches à faire un genre de databinding 2-way. Quelqu'un ici a déjà fait ça?

Re: Autre question aux programmeurs dans la salle

Publié : mar. nov. 04, 2014 1:49 pm
par mas_oyama
Je viens de trouver. Pour ceux que ça intéresse:

http://www.pinfaq.com/7/how-do-two-way- ... view-model" onclick="window.open(this.href);return false;

Ca marche number 1 dans une application de test, en rajoutant 3 lignes de code:

1) la classe doit implémenter INotifyPropertyChanged

2) Le set de la propriété doit raiser un événement:
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs("Value"))

3)La déclaration de l'événement:
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged

C'est toute... c'est top fucking shape! J'espère ça va marcher autant top shape dans un satagrid, mon test est sur un textbox... mais ca devrait.

Re: Autre question aux programmeurs dans la salle

Publié : mar. nov. 04, 2014 3:54 pm
par silverf0x
BTW je sais pas si tu te sert de grille souvent mais personnellement je ne viverais plus sans la suite de DevExpress qui contient BEAUCOUP de composantes dont des grilles ultra puissante, ca vaut la peine de regarder.. ca pourrait te sauver BEN du temps!

Re: Autre question aux programmeurs dans la salle

Publié : mar. nov. 04, 2014 6:01 pm
par mas_oyama
By the way ma trouvaille de tanto c'était fucking nice, mais ca a pas marché parce que tu peux pas databinder une DataGridViewCell caliss... Tu peux avec un DataGridView, un DataGridViewRow ou un DataGridViewColumn, Mais tu peux pas avec un DataGridViewCell... c'est innocent en tabarnak! J'imagine qu'ils se sont dit que si le gars a un DataGridView de 1000 lignes par 1000 colones, gerer le binding sur un million de cellules ça va être trop intense... mais ça c'est notre problème si on est assez tapon pour le faire!

Merci pour le hint je vais checker ça, ça dépends aussi des prix et tout je sais pas si mon boss va avoir du budget pour