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 :

Impossible d'effectuer un cast d'un objet


Sujet :

C#

  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 : 25
    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 !");
                }
            }
    Nom : c#.jpg
Affichages : 248
Taille : 132,7 Ko

  2. #2
    Membre chevronné
    Homme Profil pro
    edi
    Inscrit en
    Juin 2007
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 898
    Points : 1 915
    Points
    1 915
    Par défaut
    Ça a l'air d'être ça, à part que ta DataGrid contient des DataBindingProjection, que tes SelectedItems sont donc des DataBindingProjection et que par conséquent tu essaies de retirer un DataBindingProjection d'une liste de RDV. Donc soit tu recherches le RDV correct dans la liste afin de le supprimer (il te faudrait probablement stocker l'Id du rendez-vous, s'ils en ont un ; et il te faudra refaire ta liste de destination), soit tu t'accordes un peu de temps pour apprendre WPF et MVVM (d'ailleurs tu n'as pas indiqué la techno que tu utilises) afin de travailler plus proprement.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    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
    Je te remerci de m'voir répondue,

    J'utilise entity framework , Je viens de débuter c'est pour moi la première fois que j'utilise un framework donc j'ai encore du mal.
    J'ai fais comme sa car je voulais lier un datagrid a deux table différente donc j'ai du faire une requête avec un select new .
    si tu a une autre idée pour lier un datagrid a deux table différente je suis preneur.
    que pense tu de sa ?

    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
     
     if (rDVDataGrid.SelectedItems.Count >= 1)
                {
                    RDV rdv = new RDV();           
                        List<classes.Rdv.DataBindingProjection> rdve = new List<classes.Rdv.DataBindingProjection>();
                        for (int i = 0; i < rDVDataGrid.SelectedItems.Count; i++)
                        {
                            rdve.Add((classes.Rdv.DataBindingProjection)rDVDataGrid.SelectedItems[i]);
                        }
                        var kk = rDVDataGrid.ItemsSource as List<classes.Rdv.DataBindingProjection>;
                        foreach (var item in rdve)
                        {
                             kk.Remove(item);
                            //context.t_clients.Remove(item);
                        }

Discussions similaires

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

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