begin process at 2010 02 10 03:53:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Base de données

 > 

Autre

 > 

comment changer la valeur d'une cellule dans un datagridview selon la valeur d'une autre cellule du même datagridview avec linq ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

comment changer la valeur d'une cellule dans un datagridview selon la valeur d'une autre cellule du même datagridview avec linq ?

lundi 12 janvier 2009 à 00:20:57 | comment changer la valeur d'une cellule dans un datagridview selon la valeur d'une autre cellule du même datagridview avec linq ?

MoKaLux

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

selectnew

{

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.

Merci de m'aider.

lundi 12 janvier 2009 à 23:50:09 | Re : comment changer la valeur d'une cellule dans un datagridview selon la valeur d'une autre cellule du même datagridview avec linq ?

bubbathemaster

for(int i=0; i<dgv.Rows.Count;i++)
{
   if(  ((string)dgv.Rows[i].Cells[1].Value).EndsWith("LN") )
   {
       ((float)dgv.Rows[i].Cells[4].Value) /= 100.0f;
    }
}

Si ta 5eme colonne est de type float.
mardi 13 janvier 2009 à 20:56:33 | Re : comment changer la valeur d'une cellule dans un datagridview selon la valeur d'une autre cellule du même datagridview avec linq ?

MoKaLux

Merci te ta réponse très rapide.
Je me suis empressé d'essayer ton code, magnifique mais j'ai un message d'erreur :-(


((float)dgv.Rows[i].Cells[4].Value) /= 100.0f;

Error 1 The left-hand side of an assignment must be a variable, property or indexer

Je vais essayer de trouver mais au cas où tu saurais le pb merci...

Sincèrement


mardi 13 janvier 2009 à 21:05:09 | Re : comment changer la valeur d'une cellule dans un datagridview selon la valeur d'une autre cellule du même datagridview avec linq ?

MoKaLux

J'étais arrivé avec un autre code :

var
toutExcel = from cellules in fichierExcel.AsEnumerable()
                           
select new
                           
{
                                 
myticker = cellules.Field< string >(fichierExcel.Columns[2]),
                                 mycourspyc = cellules.Field< double >(fichierExcel.Columns[9])
                           };

foreach
( var ang in toutExcel.Where(a => a.myticker.EndsWith( "LN" )))
{
      
ang.mycourspyc = ang.mycourspyc / 100;
}
J'aurais tant aimé que cela marche direct mais malheureusement g l'erreur:
Cannot change ang.mycourspyc because it is read-only.

J'ai essayé de faire datagridview.readonly = false; ...

Mais non.

Je vais reregarder ton code...

mardi 13 janvier 2009 à 21:21:31 | Re : comment changer la valeur d'une cellule dans un datagridview selon la valeur d'une autre cellule du même datagridview avec linq ?

bubbathemaster

Je sais pas j'ai pas compilé le code, juste tappé à l'arrache. S'il veut pas de ça, tu peux faire:

float f = (float)dgv.Rows[i].Cells[4].Value;
dgv.Rows[i].Cells[4].Value = f / 100.0f;

Il serait parfois bon de lacher tous ces trucs de très haut niveau comme linq pour revenir aux bases hein ;o
mardi 13 janvier 2009 à 23:19:47 | Re : comment changer la valeur d'une cellule dans un datagridview selon la valeur d'une autre cellule du même datagridview avec linq ?

MoKaLux

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é...

A plus et bonne soirée

mardi 13 janvier 2009 à 23:36:45 | Re : comment changer la valeur d'une cellule dans un datagridview selon la valeur d'une autre cellule du même datagridview avec linq ?

MoKaLux

mon prog compile avec ta nouvelle soluce mais je n'ai pas le resultat souhaité, mais merci j'avance, j'avance.

Juste un truc en fait j'ai pas des FLOAT g d DOUBLE

dois-je remplacer ???

mardi 13 janvier 2009 à 23:57:23 | Re : comment changer la valeur d'une cellule dans un datagridview selon la valeur d'une autre cellule du même datagridview avec linq ?

bubbathemaster

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;

Ca ne peut que marcher :p
mercredi 14 janvier 2009 à 00:16:27 | Re : comment changer la valeur d'une cellule dans un datagridview selon la valeur d'une autre cellule du même datagridview avec linq ?

MoKaLux

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...

merci

mercredi 14 janvier 2009 à 09:00:33 | Re : comment changer la valeur d'une cellule dans un datagridview selon la valeur d'une autre cellule du même datagridview avec linq ?

bubbathemaster

Ha oui effectivement si ta datagridview est bound a un datatable, ma technique ne fonctionne pas ;o

1 2

Cette discussion est classée dans : changer, valeur, cellule, datagridview, anglaise


Répondre à ce message

Sujets en rapport avec ce message

datagridview changer la cellule selectionné [ par ggrug26 ] bonjour,petit souci, j'utilise un datagridview pour le lien avec ma base,je fais de la selection par ligne et non mar cellule, par contre lors que je Datagridview & currencymanager : comment récupérer la valeur d'une cellule ? [ par lolall03 ] Bonjour, J'ai une DB Mysql(ODBC), et une architecture 3couches(interface, business et accès aux données) Je remplis un datagridview avec ma table de Texte trop long dans une cellule de datagridview [ par blutch0007 ] Bonjour, J'ai des texte très long(en hauteur) dans une DataGridView. On ne voit pas la fin du texte en bas de page. Si la Scrollbar est présente elle Cherche un row dans un datagridview [ par olibara ] BonsoirEst il possible de trouver est selectionner rapidement un row dans un datagrridview sur base d'une valeur a chercher dans une colonne ?Mon data Remplir un datagridview avec un fichier XML [ par damsdu64 ] Bonjour a tous, Je suis débutant en C# c'est pourquoi j'ai besoin de votre aide Comme le nom du sujet le dit je voudrais pouvoir à partir de ce fichie changement de type [ par salad1976 ] bonjour tout le mond;est ce que on peux changer le type d'une cellule dans une datagridview? (je veux changer seulement la cellule et pas la colonne)l DATAGRID valeur d'une cellule [ par LOUTTY ] Bonjour,Voila j'ai un datagrid que j'ai rempli avec un dataset jusque là pas de problème. Maintenant je voudrais récupérer une valeur dans une cellule Selectionner ligne d'un datagridview [ par ducker88 ] Bonjour a tous, Comment faire pour colorer la ligne  d'un datagridview contenant la cellule sur laquelle j'ai cliqué. Je m'explique, je voudrais qu'a Template de cellule dans dataGridView [ par M_karim8 ] Bonjour, est il possible de réaliser un template de cellule dans une datagridView ? Si possible quelqu'un aurait il un bout de code?? Sinon est il pos Datagridview combobox [ par Amelie_29 ] Bonjour,J'ai dans ma grille une datagridviewcomboboxcolumn. L'utilisateur doit cliquer plusieurs fois : un clic pour donner le focus à la cellule, un


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,310 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales