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 :

Ajouter un champs "autre" dans une combo box [Débutant]


Sujet :

C#

  1. #1
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 28
    Points : 24
    Points
    24
    Par défaut Ajouter un champs "autre" dans une combo box
    Bonjour tout le monde
    Je veux ajouter un champs "autre" dans une combo box qui prends ses valeurs de ma base de données par le binding
    mais je ne sais pas comment faire
    Merci d'avance

  2. #2
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut
    Sûrement un cas d'utilisation pour une CompositeCollection...
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  3. #3
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 28
    Points : 24
    Points
    24
    Par défaut
    Bonsoir ;
    Merci beaucoup Pragmateek pour ton indication
    J'ai essayé ceci :
    Code XAML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <ComboBox  x:Name="combocatP"   HorizontalAlignment="Left" Height="25" Margin="180,160,0,0" VerticalAlignment="Top" Width="120">
                <ComboBox.ItemsSource>
                    <CompositeCollection>
                        <ComboBoxItem Content="Autre"></ComboBoxItem>
                        <CollectionContainer Collection="{Binding Path= catP}" />
                    </CompositeCollection>
                </ComboBox.ItemsSource>
            </ComboBox>
    Mais ça n'a pas marché
    Mon combo box ne m'affiche pas le champ " Autre " :p :p

  4. #4
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut
    Euh tu ne veux pas plutôt dire qu'elle ne t'affiche QUE le champ "Autre" ?...

    Si c'est le cas c'est "normal" et le fix est un peu tordu :
    Code XAML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <ComboBox  x:Name="combocatP"   HorizontalAlignment="Left" Height="25" Margin="180,160,0,0" VerticalAlignment="Top" Width="120">
        <ComboBox.Resources>
            <CollectionContainer x:Key="cc" Collection="{Binding Source={x:Reference combocatP},Path=DataContext.catP}" />
        </ComboBox.Resources>
        <ComboBox.ItemsSource>
            <CompositeCollection>
                <ComboBoxItem Content="Autre"></ComboBoxItem>
                <StaticResourceExtension ResourceKey="cc"></StaticResourceExtension>
            </CompositeCollection>
        </ComboBox.ItemsSource>
    </ComboBox>

    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  5. #5
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 28
    Points : 24
    Points
    24
    Par défaut
    Non par contre il ne m'affiche que les données de ma bases de données ( du binding ..)

    J'ai testé ton code mais j'ai toujours le même problème , mon champ " autre " ne s'affiche pas
    Je pense ça peut etre du au code du binding ( ci-dessous) de mon combobox

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     public void bindComboCatP(ComboBox comboBoxName)
            {
     
                SqlDataAdapter da = new SqlDataAdapter("Select * FROM CategorieProduit", Connexion);
                DataSet ds = new DataSet();
                da.Fill(ds, "catP");
                comboBoxName.ItemsSource = ds.Tables["catP"].DefaultView;
     
                comboBoxName.DisplayMemberPath = ds.Tables["catP"].Columns["nomCategorie"].ToString();
                comboBoxName.SelectedValuePath = ds.Tables["catP"].Columns["codeCategorie"].ToString();
                comboBoxName.SelectedIndex = 0;
     
     
            }

    Merci d'avance pour vos réponses

  6. #6
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut
    Ah dans ce cas c'est normal si tu écrases l'ItemsSource depuis le code behind.

    En plus tu bindes à des objets "complexes".

    Voici ce que ça devrait donner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    comboBoxName.ItemsSource = new CompositeCollection
    {
        new CollectionContainer{ Collection = ds.Tables["catP"].DefaultView },
        new CollectionContainer{ Collection = new [] { new { nomCategorie = "Autre", codeCategorie = -1 } } }
    };
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

  7. #7
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2014
    Messages : 28
    Points : 24
    Points
    24
    Par défaut
    Merci beaucoup Pragmateek ça marche maintenant

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

Discussions similaires

  1. Ajouter des sous titres dans une combo box
    Par Djaiffe dans le forum VB.NET
    Réponses: 5
    Dernier message: 24/05/2018, 16h55
  2. Ajouter une image dans une Combo Box
    Par Drost dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/10/2007, 15h13
  3. Modif d'un ini dans une combo box
    Par Julien.alkaza dans le forum C++Builder
    Réponses: 5
    Dernier message: 03/04/2005, 23h39

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