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 :

Récupérer la valeur éditée dans le Combobox [Débutant]


Sujet :

C#

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2015
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Récupérer la valeur éditée dans le Combobox
    Bonjour,

    Je crée une application WPF en essayant de suivre le pattern MVVM (MVVM Light).
    J'ai un Datagrid qui contient 3 colonne.
    1 colonne de texte
    2 colonnes avec une combobox chacune.

    Voici le code des combobox :



    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
     
      <DataGrid 
                            Name="dataGridMapingMissing" 
                            ItemsSource="{Binding ItemsToAddToTheCurrentCsvFile, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
    	                    HorizontalAlignment="Left"
    	                    Margin="38,10,0,0"
    	                    VerticalAlignment="Top" Height="265" Width="584"
                            CanUserAddRows="False"
                            ColumnWidth="*" 
                            Grid.ColumnSpan="2"
                            AutoGenerateColumns="False"
                            CanUserSortColumns="False">
                            <DataGrid.Columns>
                                <DataGridTextColumn 
                                        Header="Skill Name" 
                                        Binding="{Binding SkillName, UpdateSourceTrigger=PropertyChanged}">
                                </DataGridTextColumn>
     
                                    <DataGridTemplateColumn 
                                        Header="Skill Mapping">                                   
                                    <DataGridTemplateColumn.CellTemplate>
                                        <DataTemplate>
                                            <ComboBox 
                                                    IsEditable="True"
                                                    ItemsSource="{Binding DataContext.ListMapping ,
                                                    UpdateSourceTrigger=PropertyChanged,
                                                    RelativeSource={RelativeSource AncestorType=Window}}"
                                                    SelectedItem="{Binding SkillMapping, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"
                                                    SelectedValue="{Binding SkillMapping, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"
                                                    FontSize="20"/>
                                        </DataTemplate>
                                    </DataGridTemplateColumn.CellTemplate>
                                </DataGridTemplateColumn> 
                                <DataGridTemplateColumn Header="Skill Group">
                                    <DataGridTemplateColumn.CellTemplate>
                                        <DataTemplate>
                                            <ComboBox  
                                                    IsEditable="True"
                                                    ItemsSource="{Binding DataContext.SkillGroupCollection,
                                                    UpdateSourceTrigger=PropertyChanged,
                                                    RelativeSource={RelativeSource AncestorType=Window}}"
                                                    SelectedItem="{Binding SkillGroup, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"
                                                    SelectedValue="{Binding SkillGroup, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"                                                                                               
                                                    FontSize="20"/>
                                        </DataTemplate>
                                    </DataGridTemplateColumn.CellTemplate>
                                </DataGridTemplateColumn>
                            </DataGrid.Columns>
                        </DataGrid>
     
        <Button 
                            Content="Save Modification" 
                            Name="btSaveModificationGridMapping" 
                            Margin="270,285,271,23" 
                            RenderTransformOrigin="3.099,0.436" 
                            Command="{Binding SaveUpdatedMappingFile}" 
                            Click="btSaveModificationGridMapping_Click" 
                            Grid.ColumnSpan="2"
                            />
    La valeur entré dans le combobox au clavier, n'est pas toujours sauvegardé lorsque je clique sur le bouton sauvegarder.
    Par contre lorsque je selectionne des éléments dans les combobox, elles sont bien sauvegarder.

    J'ai l'impression que si je tape une nouvelle valeur dans le combobox(et que cette valeur n'existe donc pas encore dans le combobox), elle n'est pas prise en compte.
    Je ne comprend pas trop pourquoi.


    Pouriez-vous m'aider avec ce problem s'il vous plait?
    Vous faut-il encore d'autre information?

    Merci d'avance pour vos lumières.

    Bien à vous,

  2. #2
    Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2015
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Solution
    Bonjour,

    Voilà j'ai résolu mon problem, si ça peut aider certaines personnes:

    j'ai du rajouté l'attribut "Text" à la combobox pour qu'il prenne en compte la nouvelle valeure.

    Donc la partie combobox devient;

    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
    29
    30
    31
     
     
      <DataGridTemplateColumn 
                                        Header="Skill Mapping">                                   
                                    <DataGridTemplateColumn.CellTemplate>
                                        <DataTemplate>
                                            <ComboBox 
                                                    IsEditable="True"
                                                    ItemsSource="{Binding DataContext.ListMapping ,
                                                    UpdateSourceTrigger=PropertyChanged,
                                                    RelativeSource={RelativeSource AncestorType=Window}}"
                                                    SelectedItem="{Binding SkillMapping, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"
                                                    Text="{Binding SkillMapping, UpdateSourceTrigger=LostFocus}"
                                                    FontSize="20"/>
                                        </DataTemplate>
                                    </DataGridTemplateColumn.CellTemplate>
                                </DataGridTemplateColumn> 
                                <DataGridTemplateColumn Header="Skill Group">
                                    <DataGridTemplateColumn.CellTemplate>
                                        <DataTemplate>
                                            <ComboBox  
                                                    IsEditable="True"
                                                    ItemsSource="{Binding DataContext.SkillGroupCollection,
                                                    UpdateSourceTrigger=PropertyChanged,
                                                    RelativeSource={RelativeSource AncestorType=Window}}"
                                                    SelectedItem="{Binding SkillGroup, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"
                                                    Text="{Binding SkillGroup, UpdateSourceTrigger=LostFocus}"
                                                    FontSize="20"/>
                                        </DataTemplate>
                                    </DataGridTemplateColumn.CellTemplate>
                                </DataGridTemplateColumn>

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

Discussions similaires

  1. [XL-2007] Récupérer la valeur saisie dans une ComboBox
    Par Nonno 94 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 12/12/2013, 14h56
  2. [MySQL] Récupérer les valeurs définies dans un champ ENUM
    Par Huntress dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 03/07/2010, 18h55
  3. Récupérer ancienne valeur sélectionnée dans une combobox
    Par alys56 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 09/07/2008, 17h11
  4. Réponses: 10
    Dernier message: 05/02/2008, 14h37
  5. Réponses: 2
    Dernier message: 11/12/2004, 21h20

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