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

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 20
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mars 2019
    Messages : 4
    Points : 6
    Points
    6

    Par défaut Impossible d'effectuer un cast d'un objet

    Bonjour , Voila sa fais plusieurs jour que j'essaye de résoudre mon problème or après plusieurs recherche je ne parviens toujours pas a le résoudre je souhaite supprimer la ligne sélectionner de mon datagrid et j'obtiens le message d'erreur suivant "Impossible d'effectuer un cast d'un objet "

    je vous mais ici comment je remplie mon datagrid et comment j’essaye de supprimer ma ligne sélectionner

    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
     
    public List<Rdv> GetAllRdv()
           {
               dbRdv.Clear();
               List<Rdv.DataBindingProjection> query = pages.rendez_vous.rendez_vous.contextModif.RDV
                                 .Include(s => s.id)
                                 .Select(s => new Rdv.DataBindingProjection
                                 {
                                     heure = s.heure,
                                     date = s.date,
                                     adresse = s.adresse,
                                     cp = s.cp,
                                     ville = s.ville,
                                     description = s.description,
                                     nom = s.CLIENTS.nom,
                                     prenom = s.CLIENTS.prenom,
                                     type = s.CLIENTS.type,
                                 }).ToList();
                               pages.rendez_vous.rendez_vous.DataGridRdv.ItemsSource = query;
               return dbRdv;
           }
    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
     
    private void ButtonSupprimer_Click(object sender, RoutedEventArgs e)
            {
                if (rDVDataGrid.SelectedItems.Count >= 1)
                {
                    RDV rdv = new RDV();
                    for (int i = 0; i < rDVDataGrid.SelectedItems.Count; i++)
                    {
     
                        rendez_vous.contextModif.RDV.Remove((RDV)rendez_vous.DataGridRdv.SelectedItems[i]);
     
                    }
                     context.SaveChanges();
                    rDVDataGrid.ItemsSource = context.CLIENTS.ToList();
                }
                else
                {
                    MessageBox.Show("Vous devez selectionner un ou pluseurs rendez-vous pour pouvoir le Supprimer !");
                }
            }

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    novembre 2018
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : novembre 2018
    Messages : 26
    Points : 32
    Points
    32

    Par défaut

    salut,
    déjà le "include()" il ne sert à rien.
    je sais pas si c'est possible, mais, si tu fait un ForEach de "rendez_vous.DataGridRdv.SelectedItems" ça sera pas plus facile?

    après il me semble que lorsque tu change des valeurs dans un context, il faut ajouter ce morceau de code dans le Model:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            public event PropertyChangedEventHandler PropertyChanged;
            private void OnPropertyChanged(string propertyName)
            {
                PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
            }

Discussions similaires

  1. Réponses: 21
    Dernier message: 16/09/2013, 23h00
  2. Réponses: 4
    Dernier message: 10/05/2011, 12h55
  3. Réponses: 7
    Dernier message: 26/04/2011, 19h00
  4. Réponses: 0
    Dernier message: 13/03/2010, 11h25
  5. Réponses: 2
    Dernier message: 06/03/2007, 20h38

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