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

C# Discussion :

Creer une colonne de type Color


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut Creer une colonne de type Color


    Je m'etais déja cassé les dents sur le truc

    Et je retombe dedans sans retrouver la solution

    J'essaye de creer une colonne de type color dans une datatable en vue de l'utiliser dans un datagridview

    Mais je dois me planter quelque part dans les cast

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    // Creation de la colonne
          DataColumn col1 = new DataColumn();
          col1.DataType = typeof(Color); // System.Type.GetType("System.Drawing.Color");
          col1.ColumnName = "Color";
          dt.Columns.Add(col1);
     
    // Assignation d'une couleur      
          cRow["Color"]= Colors.Blue;
     
    // Tentative de recuperation
          Color v = (Color)(tmpDGV["Color", i].Value);
    Message : Invalid Cast
    Et le debugueur me dit

    tmpDGV["Color", i].Value "Color [Blue]" object {string};


    A mon avis, le problème est a la creation mais je ne sais plus comment faire ?

    Quelqu'un sait comment faire ?

    Merci de votre aide

  2. #2
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Bonjour


    Bon j'ai déja trouvé une partie de la solution

    1- Il ne faut pas faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    col1.DataType =  System.Type.GetType("System.Drawing.Color");
    2- Il ne faut pas faire non plus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    col1.DataType = typeof(Color);
    3- Mais il faut faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       col1.DataType = typeof(System.Drawing.Color);
    Maintenant j'ai un autre problème recurent avec un DGV
    Lorsqu'il n'y a PAS de valeur !
    Le cell.Value n'est pas null mais vide !

    Comment peux-t-on tester le vide dans un champ ?
    Ca ma toujours enervé
    Particulierement dans ce cas car c'est une couleur et je trouve idiot de devoir faire un ToString pour determiner que c'est vide !

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    A priori typeof(Color) et typeof(System.Drawing.Color) ça revient au même, à moins que tu aies une variable appelée Color dans le scope...

    Citation Envoyé par olibara Voir le message
    Le cell.Value n'est pas null mais vide !

    Comment peux-t-on tester le vide dans un champ ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (row["Color"] == DBNull.Value)

  4. #4
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    typeof(Color) et typeof(System.Drawing.Color)
    Tu as tout a fait raison

    Je ne sais pas pourquoi j'avais eu l'impression qu'il me niait !
    Le compilo voulait sans doute tester mon impatience !

    Et aaaah ce DBNull.Value que je ne fréquente pas encore asser !!!

    Merci TomLev

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/07/2006, 14h28
  2. Récupérer les infos d'une colonne de type DataSet
    Par Zugg dans le forum Bases de données
    Réponses: 2
    Dernier message: 01/02/2006, 14h46
  3. Réponses: 14
    Dernier message: 28/10/2005, 18h41
  4. Réponses: 5
    Dernier message: 19/04/2005, 09h46
  5. requete vers une colonne de type datetime
    Par Zorgz dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/12/2003, 12h37

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