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 :

[C#] DataTable Select


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    359
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 359
    Par défaut [C#] DataTable Select
    Bonjour,
    Je cherche à réaliser une sélection des enregistrements d'une DataTable, de manière à ne récupérer que les éléments distincts d'une Colonne, de manière par exemple, à obtenir la liste des utilisateurs uniques,...

    Je pense et j'espère que c'est très simple, mais je ne réussis pas à la faire, si quelqu'un a une idée de comment le réaliser, ça m'aiderait grandement, merci !

    PS: je prendrai pour exemple une DataTable T1 contenant les champs champ1, champ2 et champ3, mon but étant de réussir à sélectionner tous les champs2 unique appartenant ) T1, sans passer par une boucle, bien sûr.

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Tu peux faire un filtrage via la propriété DefaultView

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2009
    Messages : 133
    Par défaut
    Et si tu essayais une requête LINQ avec DISTINCT ? google !
    nachtigal

  4. #4
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    359
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 359
    Par défaut
    Merci pour ta réponse Skyounet, je suis en train d'essayer, et bon, j'ai encore un problème, j'essaie de retirer des colonnes, en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    MyDataTAble.DefaultView.Delete(MyDataTAble.AColumn.Ordinal);
    MyDataTAble.DefaultView.Delete(MyDataTAble.AnotherColumn.Ordinal);
    Or, autant cela fonctionne la première fois, mais juste après, cela ne marche plus, et il me sort un message d'erreur :
    L'index "un nombre" est négatif ou supérieur au nombre de lignes.
    Bon, je me doute que cela est dû au fait que le DefaultView ne reconnaît plus très bien ce qui se passe autour de lui après ça (genre de ce qui se passe quand on fait un foreach dans un hashtable que l'on manipule), mais je ne sais pas comment remédier à cela,...

    Au cas ou je me tromperais totalement dans la manière de faire, je vais repréciser ma question : j'ai une dataTable dans laquelle je souhaite n'afficher que certaines colonnes, ce qui m'oblige à retirer plusieurs colonnes (6 au total), et je ne réussis pas à le faire.

    Merci d'avance.

    PS: Pour nachtigal, merci de ton aide, mais, même en faisant une reqête google avec Linq et Distinct, je n'ai asp compris ou tu voulais en venir, désolé, surtout que je ne connaît rien à LINQ,...

  5. #5
    Membre expérimenté Avatar de AJemni
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2008
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2008
    Messages : 242
    Par défaut
    Bonjour,
    pense plutôt à actualiser la DataTable aprés la suppression de la première ligne et avant la suppression du second :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MyDataTAble.DefaultView.Delete(MyDataTAble.AColumn.Ordinal);
    MyDataTAble = MyDataTAble.DefaultView.ToTable();
    MyDataTAble.DefaultView.Delete(MyDataTAble.AnotherColumn.Ordinal);

  6. #6
    Membre éclairé
    Inscrit en
    Juin 2007
    Messages
    359
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 359
    Par défaut
    Merci pour ta réponse AJemni, mais je me heurte à une autre difficulté, c'est l'impossibilité dans la quelle je me trouve de caster un DataTable en DataTable de format particulier, parce que la fonction .ToTable() m renvoie un simple DataTable,...

Discussions similaires

  1. utilisation du DataTable.Select
    Par wagga39 dans le forum VB.NET
    Réponses: 1
    Dernier message: 14/08/2008, 22h30
  2. [VB.NET 2003] DataTable.Select Method
    Par Kropernic dans le forum Windows Forms
    Réponses: 11
    Dernier message: 08/02/2008, 16h16
  3. Problème datatable select
    Par mappy dans le forum ASP.NET
    Réponses: 11
    Dernier message: 25/01/2008, 22h12
  4. [C#] Datatable.Select( regex )
    Par mikyfpc dans le forum Windows Forms
    Réponses: 0
    Dernier message: 29/08/2007, 12h22
  5. [C#2] DataTable.Select, méthode (String)
    Par Leesox dans le forum Accès aux données
    Réponses: 2
    Dernier message: 15/08/2006, 19h40

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