IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

datagridview colonne non utilisable


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 85
    Points : 62
    Points
    62
    Par défaut datagridview colonne non utilisable
    Bonjour ou rebonjour ^^,

    Alors voila, j'ai un dgv, remplis par un dataset. Dans le dataset, j'ai ajouté des colonnes en ligne de commande. Et en fait j'ai cree une fonction pour calculé la somme des valeurs d'une colonne et le mettre dans une texte box. Lorsque qu'une valeur change dans une des colonnes, il faut recalculé la valeur ds la textbox. Mon probleme et que quand je fais appel a la fonction de calcul, j'ai l'erreur comme quoi la colonne en question ne fait pas partie de la table.

    voici la fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private void total(DataSet d)
                {
                    double v = 0.0;
                    foreach (DataRow dr in d.Tables[0].Rows)
                    {
                        v = v + Convert.ToDouble(dr["Valeur"].ToString());
                    }
                    Cout_Total.Text = v.ToString();
                }
    donc l'erreur est que la colonne valeur n'existe pas quand je lance l'execution.

    quelqu'un sait-il pourquoi ??

    merci d'avance.

  2. #2
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    D'après ce que tu dis, la ligne n'a pas de colonne Valeur.

    Tu peux mettre un point d'arrêts et vérifier tes lignes pour voir ce qu'elles contiennent. Peut être est-ce juste une faute de frappe.
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 85
    Points : 62
    Points
    62
    Par défaut
    En effet j'y ai pensé et lorsque j'affiche le nom des colonnes, il apparait que celles que j'ai cree en ligne de code ne s'affiche pas, pourtant elles devraient non ??
    J'ai oublier de preciser que je les cree dans la fonction form_load, et que c'est lorsque je fait appel a ma fonction total dans une autre methode, les colonnes cree n'apparaissent pas. Je ne comprend pas pourquoi elles ne seraient pas accessible. comment je dois faire ?

  4. #4
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    Montre nous comment tu les ajoutes au DataSet et quand tu appelles la méthode total.
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 85
    Points : 62
    Points
    62
    Par défaut
    Désolé pour le delai de reponse, mais reunion oblige ^^.

    Pour en revenir au probleme, j'ajoute mes colonnes de cette facon:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if (!dss.Tables[0].Columns.Contains("Total Subvention"))
                {
                    col = new DataColumn();
                    col.DataType = typeof(double);
                    col.ColumnName = "Total Subvention";
     
                    dss.Tables[0].Columns.Add(col);
                }
    et quand j'appel ma fonction total en dehors du form_load je le fait comme ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    private void Niveau_1_TextChanged(object sender, EventArgs e)
            {
                dss.Tables[0].Columns[Niveau_1.Name].Expression = "'"+Niveau_1.Text+"'";
               total(dss);
                this.SimulationSubvention.Refresh();
            }
    Alors comme solution eventuel, je me disais que peut etre il me serait plus simple de creer une colonne dans le dataset avec comme valeur pour chaque ligne la meme a savoir mon total que je veux calculer. Mais si je fait ca, dans le defultvalue de cette nouvelle colonne est-ce que je peux faire un sum([nomcolonne]) ou pas ??

    Merci d'avance

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 85
    Points : 62
    Points
    62
    Par défaut
    J'ai donc reussi a mettre le sum dans une colone afin d'avoir mon total reactualisé a chaque modification dans la table.
    Cependant, je n'arrive pas a mettre la valeur de cette colonne dans la textebox,au mieux j'affiche la formule, ce qui n'est pas tres utile.

    code de la colonne total:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                    col = new DataColumn();
                    col.DataType = typeof(double);
                    col.ColumnName = "Total Subvention";
                    col.Expression="SUM([Valeur Subvention fonctionnement])";
                    dss.Tables[0].Columns.Add(col);
    comment je peux faire pour mettre la valeur de cette colonne dans une textbox, sachant que si je met expression j'ai le sum et defaultvalue ne m'affiche rien vu que je ne l'ai pas remplis.

    Une idée ??

    merci d'avance.

Discussions similaires

  1. Tri des colonnes non liées d'un datagridview
    Par Bluberiman dans le forum Windows Forms
    Réponses: 4
    Dernier message: 13/05/2010, 18h27
  2. utiliser UNION avec un nombre de colonnes non égal
    Par swissmade dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 20/08/2007, 11h03
  3. Réponses: 1
    Dernier message: 29/12/2005, 18h04
  4. Réponses: 1
    Dernier message: 28/09/2005, 18h10
  5. Réponses: 1
    Dernier message: 28/04/2004, 19h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo