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 :

Format pour un datagridview


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2006
    Messages : 122
    Par défaut Format pour un datagridview
    Bonjour,

    J'ai un datagridview lie a un dataset. Je veux formater les donnees dans 2 colonnes:
    - le dataset contient un double; je veux que la sortie soit un pourcentage, avec les pourcentages negatifs entre parentheses, sans le signe moins et en rouge. Je peine a mettre la couleur. J'utilise pour l'instant ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.dataGridView_FundList.Columns["Return"].DefaultCellStyle.Format = "#0.##%;(#0.##%)";
    - le dataset contient un boolean; je veux que la sortie soit Y/N, au lieu des checkbox qui sont mises par defaut dans le datagridview.

    Avez-vous une idee pour l'un ou l'autre des formats ?

    D'avance merci

  2. #2
    Membre Expert
    Avatar de hed62
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    2 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 029
    Par défaut
    Pour le boolean, cela fonctionnerait-il ?

    (coté html)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Eval ( theBool ? "Y" ; "N" )
    sinon coté code behind, justre tester le boolean et renvoyer la chaine apropriée, quitte à balayer l'intégralité des lignes pour remplacer a la mano .

    Autre idée, comment remplis tu le dataset ? y'a ptet moyen de remplacer le boolean par Y / N dès le départ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2006
    Messages : 122
    Par défaut
    Merci de ta reponse. Je travaille sur un winform: je ne peux donc inclure du code HTML. Quant a creer une colonne et la remplir a la main, ce sera la solution du dernier recours.

    Le dataset est rempli a partir d'une requete, a travers un dataAdapter. Les parties du code pour le remplir sont ci-dessous (Estimate est le boolean dans la requete)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    OleDbDataAdapter adapterDataGrid;
    DataSet myDataset;
     
    myDataset = new DataSet();
     
    private void setDataGridViewList(String fundID)
            {
                try
                {
                    adapterDataGrid = new OleDbDataAdapter("select ID, Date, Return, NAV, FundsManaged, StrategyAUM, BusinessAUM, Data, Estimate, LastUpdated, GrossLong, GrossShort, GrossTotal, Net, Vami, CumulatedReturn from Performance where ID=" + fundID  + " order by Date;", conn);
     
                    if (myDataset.Tables["Datagrid"] != null)
                    {
                        myDataset.Tables["Datagrid"].Clear();
                    }
     
                    adapterDataGrid.Fill(myDataset, "DataGrid");
                    this.dataGridView_FundList.DataSource = myDataset.Tables["Datagrid"];
                    commandBuilderDataGrid = new OleDbCommandBuilder(adapterDataGrid);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message.ToString());
                }
     
                setStartAndEndDate();
                this.dataGridView_FundList.DefaultCellStyle.BackColor = Color.Beige;
            }
    Je ne vois pas trop comment changer la chaine a la source. Une idee ?

  4. #4
    Membre Expert
    Avatar de hed62
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    2 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 029
    Par défaut
    Essaie de changer le type de la colonne, de bool vers String. Tu devrais deja avoir "True" et "False" ce qui est mieux que rien....

    Je cherche coté SQL pour faire le remplacement.

  5. #5
    Membre Expert
    Avatar de hed62
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    2 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 029
    Par défaut
    Pas retrouvé la méthode en SQL directement.

    Je pense qu'en modifiant le type de données de la colonne, tu te retrouvera avec True/False.

    Si vraiment tu veux afficher Y / N ou d'autres valeurs persos, tu ne peux pas vrmt faire autrement que de parcourir l'ensemble des lignes...

    Autre piste : en base, tu établit une Table YesNo avec deux colonnes et deux lignes :
    YesNo
    Id(int) - Value(varchar)
    0 - N
    1 - Y

    Ensuite, tu complexifie un peu ta requete, en faisant une jointure sur YesNo.Id = Performance.Estimate

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2006
    Messages : 122
    Par défaut
    Merci de ton aide. J'ai abandonne mon idee et decide de mettre des combos dans la colonne a la place. Je me retrouve avec True/False, mais avec d'autres soucis...

    L'affaire est classee. J'ouvre un autre poste des que je comprends mon probleme.

    ++

Discussions similaires

  1. [VS2005][VB.Net] Custom Format dans un DataGridView
    Par Vonotar dans le forum VB.NET
    Réponses: 10
    Dernier message: 22/11/2005, 08h15
  2. MP3 File Format pour affichage spectre (image sonore)
    Par TISSEYRE dans le forum Langage
    Réponses: 1
    Dernier message: 27/09/2005, 14h50
  3. Pb de format pour une zone de texte
    Par Vincent623 dans le forum Access
    Réponses: 2
    Dernier message: 24/09/2005, 12h47
  4. Quel format pour stocker un n° de téléphone international ?
    Par Najdar dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 13/05/2005, 10h18

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