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

Windows Forms Discussion :

[C#]rangée dataset pointée par rangée datagridview


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 612
    Par défaut [C#]rangée dataset pointée par rangée datagridview
    Bonjour,

    Voici mon problème :

    J'ai un datagridview, rempli par un dataset.
    Je trie le datagridview. Jusque là, aucun problème.

    Je récupère les informations de la rangée sélectionnée : toujours aucun problème.

    Mais j'ai besoin de faire "delete" sur la rangée correspondante du dataset sous-jacent.

    Bref, quelque chose du genre : datagrid.marangéepointée->rangéepointéeDataset.delete.

    Je ne trouve pas le moyen d'obtenir la rangée pointée dans le dataset à partir d'une rangée du datagrid.

    J'ai contourné le problème comme suit :

    Récupération de la rangée datagrid sélectionnée
    Récupération de la colonne 0, qui est en fait une clé unique.

    Puis, parcours de toutes les rangées de ma datatable pour trouver l'élément qui possède la même clé.

    MAis ça ne fonctionne que parce que j'ai une clé unique, et en plus ça m'oblige à parcourir la datatable.

    Quelqu'un sait-il comment obtenir la rangée d'une datatable à partir de la rangée du datagridview qui l'utilise?

    Pour info, voici un extrait du code actuel (qui fonctionne), c'est la boucle qui me dérange, j'aimerais passer directement de dataGridView.Rows[bindingSource.Position] (datagridview)
    à
    row (datatable)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     var num = (long)dataGridView.Rows[bindingSource.Position].Cells["Numero"].Value; // clé unique : OK
     
     
               /foreach (DataRow row in datatable.Rows)                 // parcourir le datatable (n'est pas dans le même ordre que le binding
               {                                                       // et donc position ne pointe pas sur la bonne rangée
                   if (((long)row[0]) == num)
                   {
                       row.Delete();
                       break;
                   }
               }

    MErci

    Claude

  2. #2
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Octobre 2007
    Messages : 236
    Par défaut
    Si je me souviens bien :
    - Un DataGridView.Rows.Remove supprimer le DataRow correspondant dans la DataSet.
    - Si t'as créé la DataSet avec l'éditeur, y a la méthode Find_nom_colonne_ByID() à laquelle tu passe l'ID du Row et te le retourne si trouvé.

  3. #3
    Membre Expert Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Par défaut
    Citation Envoyé par ClaudeBg Voir le message
    Quelqu'un sait-il comment obtenir la rangée d'une datatable à partir de la rangée du datagridview qui l'utilise?
    La DataGridViewRow a une propriété DataBoundItem, qui comme son nom l'indique est l'objet métier dont la ligne est une représentation visuelle.

Discussions similaires

  1. Partitionnement par range
    Par fatmazohra dans le forum Oracle
    Réponses: 1
    Dernier message: 23/02/2011, 03h06
  2. comptage par rang
    Par djosh dans le forum Langage SQL
    Réponses: 2
    Dernier message: 05/07/2010, 16h49
  3. classer par rang en sql
    Par samellal dans le forum Langage SQL
    Réponses: 7
    Dernier message: 04/08/2008, 17h05
  4. VBA, graphiques : Acceder au Range pointé par une série
    Par CCHEVALIER dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/09/2005, 10h56
  5. TValueListEditor : Avoir des couleurs différentes par rangée
    Par Griswold dans le forum Composants VCL
    Réponses: 2
    Dernier message: 06/08/2004, 19h41

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