Comment changer la valeur d'une cellule dans un datagridview selon la valeur d'u
cs_MoKaLux
Messages postés39Date d'inscriptionvendredi 5 octobre 2007StatutMembreDernière intervention27 mars 2009
-
12 janv. 2009 à 00:20
cs_wafa59
Messages postés6Date d'inscriptionsamedi 24 octobre 2009StatutMembreDernière intervention 6 février 2010
-
28 déc. 2009 à 21:23
Bonjour,
J'essaie de modifier/changer la valeur d'une cellule dans un datagridview selon la valeur d'une autre cellule du même datagridview.
Dans mon cas je voudrais que les cellules de la 5ème colonne soient divisées par 100 si les cellules de la 2ème colonne finissent par le texte LN.
Cela devrait être très simple mais je tourne en rond depuis trop longtemps maintenant.
Des pistes SVP.
mon code :
var anglaises =
from anglaise
in toutExcel.ToList()
where anglaise.myticker.EndsWith(
"LN") ==
true
select
new{
cours = anglaise.mycourspyc
};
Là ça ne marche pas du tout car j'applique un filtre donc toutes les autres données sont eliminées.
J'ai essayé avec un IF mais il me dit que je peux pas changer les données (readonly)...
Avec un foreach pareil, je galère grave.
cs_MoKaLux
Messages postés39Date d'inscriptionvendredi 5 octobre 2007StatutMembreDernière intervention27 mars 20091 13 janv. 2009 à 23:19
Wouah t trop cool, je vais tester encore avec ta nouvelle piste.
A propos de linq c vraiment pratique comme tout et les pauvres gens qui font csharp se decarcassent vraiment donc c la moindre des choses que de se servir de leur nouveauté...
bubbathemaster
Messages postés339Date d'inscriptiondimanche 26 janvier 2003StatutMembreDernière intervention25 mars 20094 13 janv. 2009 à 23:57
Bien sur, j'ai mis float en supposant que tes nombres étaient des float. Si tu traite des double, alors fais tout avec des doubles, ie:
double d = (double)dgv.Rows[i].Cells[4].Value;
dgv.Rows[i].Cells[4].Value = d / 100.0;
cs_MoKaLux
Messages postés39Date d'inscriptionvendredi 5 octobre 2007StatutMembreDernière intervention27 mars 20091 14 janv. 2009 à 00:16
ok ça marche de mieux en mieux mais je ne vois pas les changements dans ma datagridview à l'écran. Peut-être que ça marche mais je le vois pas.
En tout cas c vrai avec ta nouvelle façon ça à l'air de marcher.
J'ai mis ton code avant et ensuite après le code de la datagridview mais pas de changement :-(
Je crois que le pb est que je remplis mon dgc avec un dataset (un tableau excel) et que les données ne peuvent pas être modifiées par programmation dans la dgv ?!? c du read only.
Ah la la... merci en tout cas pour ton aide, je continue de continuer d'essayer de faire que ça marche...
cs_wafa59
Messages postés6Date d'inscriptionsamedi 24 octobre 2009StatutMembreDernière intervention 6 février 2010 26 déc. 2009 à 18:22
j'arrive pas à afficher mon datagridview
j'utilise cette instruction:
v.Rows[i].Cells[j].Value = image_matric[i, j];
tq v est un dtagridview
et imag_matric est une matrice bien déclarée et bien définie
l'éxécution m'affiche un dtagridview dont les valeurs des cellules sont irronée.
cs_wafa59
Messages postés6Date d'inscriptionsamedi 24 octobre 2009StatutMembreDernière intervention 6 février 2010 28 déc. 2009 à 13:50
vous me semblez un pe méchant mais bn!!
les valeurs éronnéée pour moi ne sont pas les valeurs k je veux afficher cest à dire les élements de la matrice.
on m'affiche un truc du genre : form1. cor ( cor est une structure k j'ai défini)
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 201549 28 déc. 2009 à 15:22
Je suis peut-être un peu méchant (attention, je mords), mais ta question n'est absolument pas en relation directe avec "comment changer la valeur d'une cellule dans un datagridview selon la valeur d'une autre cellule du même datagridview avec linq".
Pour revenir à ton problème, quel est le type (avec le namespace) des éléments de ta matrice ? Ne serait-ce pas justement Form1.cor ?
Krimog : while (!(succeed = try())) ; - Mes bonnes résolutions 2010 : 1680x1050 et 1920x1080 -
cs_wafa59
Messages postés6Date d'inscriptionsamedi 24 octobre 2009StatutMembreDernière intervention 6 février 2010 28 déc. 2009 à 16:51
NN, vous ne mordez pas, je sais k au fond vous etes gentil ;).
oui le cor est le type des éléments de la matrice, mais moi je ne ve pas afficher le type, je veux afficher une valeur ( un champ de la structure de cor)
merci d'avance Mr et bonne année à l'avance!!!!!
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 201549 28 déc. 2009 à 18:34
v.Rows[i].Cells[j].Value est un string. Si on lui transmet un objet qui n'est pas un string, c'est la méthode ToString() de l'objet qui est appelée. Or, par défaut, la méthode ToString() renvoie le type de ton objet.
C'est donc ce qu'il se passe dans ton cas.
Si tu veux afficher le champ "monChamp" de ta structure cor, il suffit simplement de faire