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 :

convertir datatable en list


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 7
    Par défaut convertir datatable en list
    Bonjour,
    est il possible de convertir le contenu d'une datable (ex: client) en une liste (de type client)?
    Merci beaucoup!

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 206
    Par défaut
    oui .... mais en cherchant juste un peu tu aurai trouvé tout seul....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    List<string> lResult = new List<string>();
    DataTable lData;
     
    if (lData.Rows.Count > 0)
    {
    foreach (DataRow r in lData.Rows)
            lResult.Add(r["nom"].ToString());//nom est à remplacer par le nom du champt que tu cherche
    }

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2011
    Messages : 21
    Par défaut
    Merci Kineton!

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 206
    Par défaut
    Pense à mettre résolu !

  5. #5
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2008
    Messages : 231
    Par défaut
    Je dirai plutot :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    List<Client> v_clients = new List<Client>();
    DataTable v_dt = // ta requete
     
    foreach (DataRow r in lData.Rows)
    {
            v_clients.Add( new Client ( r[0],r[1] ....);
    // Alternatif et mieux je pense
            maFactoryClient.NewClientByRow(r); // ton code métier pour construire ton client est dans ta factory :)
    }
    Et tu auras ta liste de client (Objet qui encapsule tes données clientes)

  6. #6
    Membre très actif
    Avatar de charouel
    Homme Profil pro
    Freelance
    Inscrit en
    Mars 2009
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mars 2009
    Messages : 618
    Billets dans le blog
    9
    Par défaut
    voila un exemple pour recupéré les liste ID et Valeur
    Fonction qui retourne la liste
    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
    22
    23
    24
    public List<IdValueSelected> GetListeIdValue(string id, string value, string tablename, SqlConnection connexion)
    		{
    			var request = "Select" + " " + id + ", " + value + " From " + tablename + " Order By " + value;
    			var da = new SqlDataAdapter(request, connexion);
    			var dataTable = new DataTable();
    			connexion.Open();
     
    			// Fill the data table with select statement's query results:
    			da.Fill(dataTable);
     
    			var lstData = new List<IdValueSelected>();
     
     
    			for (var i = 0; i < dataTable.Rows.Count; i++ )
    			{
    				var idValueSelected = new IdValueSelected
    				                      	{
    				                      		Id = dataTable.Rows[i][0].ToString(),
    				                      		Value = dataTable.Rows[i][1].ToString()
    				                      	};
    				lstData.Add(idValueSelected);
    			}
    			return lstData;
    		}
    Class IdValueSelected
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    	public class IdValueSelected
    	{
    		/// <summary>
    		/// Id Selectionner qui correspond a un ID pour un combox
    		/// </summary>
    		public string Id { get; set; }
     
    		/// <summary>
    		/// la valeur de la combobox
    		/// </summary>
    		public string Value { get; set; }
    	}

    Tu peux changé la classe et la requette et tu aura une liste bien déterminé de tes valeur

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 206
    Par défaut
    Citation Envoyé par morgand Voir le message
    Je dirai plutot :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    List<Client> v_clients = new List<Client>();
    DataTable v_dt = // ta requete
     
    foreach (DataRow r in lData.Rows)
    {
            v_clients.Add( new Client ( r[0],r[1] ....);
    // Alternatif et mieux je pense
            maFactoryClient.NewClientByRow(r); // ton code métier pour construire ton client est dans ta factory :)
    }
    Et tu auras ta liste de client (Objet qui encapsule tes données clientes)
    pffff j'avais même pas vu qu'il fallait une liste de clients .... en effet, c'est mieux ....

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2011
    Messages : 21
    Par défaut
    ok

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Convertir string en liste de hex
    Par Happpy dans le forum Maple
    Réponses: 1
    Dernier message: 04/02/2014, 00h07
  2. Ressouces nécessaires DataTable ou List<T>
    Par olibara dans le forum C#
    Réponses: 10
    Dernier message: 12/09/2009, 19h53
  3. Convertir un Generic::List en std::list
    Par Clemsgc dans le forum SL & STL
    Réponses: 7
    Dernier message: 19/06/2009, 00h22
  4. Réponses: 15
    Dernier message: 30/09/2008, 14h43
  5. [JSF] DataTable et liste
    Par Ahmed0012 dans le forum JSF
    Réponses: 1
    Dernier message: 27/05/2006, 03h52

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