Recuperer la valeur d'une cellule de Datagrid et la mettre dans un comboBox
Résolu
danny243
Messages postés
74
Date d'inscription
Statut
Membre
Dernière intervention
-
danny243 Messages postés 74 Date d'inscription Statut Membre Dernière intervention -
danny243 Messages postés 74 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Recuperer la valeur d'une cellule de Datagrid et la mettre dans un comboBox
- Aller à la ligne dans une cellule excel - Guide
- Comment recuperer un message supprimé sur whatsapp - Guide
- Comment récupérer un document dans le presse-papier samsung - Guide
- Comment récupérer un compte facebook piraté - Guide
- Comment recuperer une video sur youtube - Guide
5 réponses
Bonjour
la programmation c'est d'abord une logique, et qui dit logique dit cohérence.
Et là tu voies, ça manque de cohérence.
Ça commence par l'appel à
Là où le manque que cohérence fait que ça merdouille c'est ce qui suit:
Cette ligne
Et aussi, cette ligne
Et cette ligne
Comme tu n'as pas montré le code de Film, je fais des plans sur la comète.
Une option est de dire que le datacontext, c'est Film.
et
Et pas besoin de Lid.
la programmation c'est d'abord une logique, et qui dit logique dit cohérence.
Et là tu voies, ça manque de cohérence.
Ça commence par l'appel à
Film.ChargerListeEtudiant();qui manifestement sert à charger une liste de films. Bon ça ne va rien changer à ton problème, mais si dès le départ les méthodes ne font pas ce que leur nom dit, on commence déjà à s'embrouiller.
Là où le manque que cohérence fait que ça merdouille c'est ce qui suit:
Cette ligne
DataContext = this;veut dire que le xaml va chercher les sources de son binding dans ce code behind, or
- y'a rien à binder dans ce code behind (on binde sur des propriétés et y'en a pas)
- 2 lignes plus loin, tu fusilles tout en affectant les itemssources des 2 controles.
Et aussi, cette ligne
<ComboBox HorizontalAlignment="Left" Margin="460,196,0,337" Width="179" x:Name="cbolds" ItemsSource="{Binding LesIds}" DisplayMemberPath="Id" Loaded="Loaded_Cbolds"/>dit que ce combobox doit aller chercher ses items dans la collection de
thisqui s'appelle LesIds
Et cette ligne
cbolds.ItemsSource = Film.Lid;dit que ce même comboxbox doit aller chercher ses items dans une collection de Film qui s'appelle Lid
Comme tu n'as pas montré le code de Film, je fais des plans sur la comète.
Une option est de dire que le datacontext, c'est Film.
public MainWindow() { InitializeComponent(); Film.ChargerListeEtudiant(); DataContext = Film; }
<DataGrid HorizontalAlignment="Left" Height="149" Margin="45,21,0,0" VerticalAlignment="Top" Width="428" Name="dgFilm" AutoGenerateColumns="False" RowBackground="Khaki" AlternatingRowBackground="Lavender" MouseDoubleClick="LigneDG_dblClick" ItemsSource="{Binding films}" >
et
<ComboBox HorizontalAlignment="Left" Margin="460,196,0,337" Width="179" x:Name="cbolds" ItemsSource="{Binding films}" DisplayMemberPath="Id" Loaded="Loaded_Cbolds"/>
Et pas besoin de Lid.
danny243
Messages postés
74
Date d'inscription
Statut
Membre
Dernière intervention
Voici le code de film
Parce que en fait j'ai fait un premier binding pour tous les champs de ma datagrid et là je veux faire juste pour l'id et mettre cela dans le combobox
Quand je fais j'ai une erreur qui dit Film est un type qui n'est pas valide dans le contexte donné
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using System.Collections.ObjectModel; using BLL; namespace UIL { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); Film.ChargerListeEtudiant(); DataContext = Film; // dgFilm.ItemsSource = Film.films; } private void LigneDG_dblClick(object sender, MouseButtonEventArgs e) { txt_Titre.Text = (dgFilm.SelectedItem as Film).Id.ToString(); } private void Loaded_Cbolds(object sender, RoutedEventArgs e) { } } }
Ha oui, ce sont des collections statique, mais film ne l'est pas.
Alors comme ça
Alors comme ça
public MainWindow() { InitializeComponent(); Film.ChargerListeEtudiant(); DataContext = this; } public films {get {return Film.fimls;}}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question