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#] Acceder à une case précise d'un DataTable


Sujet :

C#

  1. #1
    Membre éclairé Avatar de Johann7751
    Profil pro
    Analyste Programmeur Junior
    Inscrit en
    Février 2009
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Analyste Programmeur Junior

    Informations forums :
    Inscription : Février 2009
    Messages : 234
    Par défaut [C#] Acceder à une case précise d'un DataTable
    Bonjour,

    J'ai une petite question.
    Malheureusement je n'ai pas les moyens de tester chez moi.


    *******************
    Comment fait-on pour accéder à une case précise d'une DataTable ?
    C'est à dire qu'on connaît la ligne et la colonne de la case à laquelle on veut accéder.

    *******************


    Je voudrais me servir de ça pour créer une méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    string[] MethodeA (DataTable tableauDeDonnees, int numeroLigne)
    qui me renverrait sous forme d'un tableau de chaines de caractères le contenu de la ligne du DataTable que je passe en paramètre..


    Merci de votre aide.

  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
    Essais cette méthode :
    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
     
    List<string> GetRow(DataTable table, int index)
            {
                if(index >=table.Rows.Count)
                    throw new ArgumentException("Argument non valide.", "index");;
                if (table.Rows[index].RowState == DataRowState.Deleted)
                    throw new InvalidOperationException("Tentative d'accès à un object DataRow supprimé.");
     
                List<string> row = new List<string>();
     
                for (int i = 0; i < table.Rows[index].ItemArray.Length; i++)
                {
                    object o = table.Rows[index].ItemArray[i];
                    if (o != null)
                    {
                        row.Add(o.ToString());
                    }
                    else
                    {
                        row.Add(string.Empty);
                    }
                }
                return row;
            }

  3. #3
    Membre éclairé Avatar de Johann7751
    Profil pro
    Analyste Programmeur Junior
    Inscrit en
    Février 2009
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Analyste Programmeur Junior

    Informations forums :
    Inscription : Février 2009
    Messages : 234
    Par défaut
    Merci.

    J'ai adapté ta méthode pour retourner directement le resultat dans un tableau de chaine de caractères, car je ne connais pas l'objet "List" que tu utilises.


    Voici ce que ça donne :

    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
    25
     // Methode qui récupère dans un tableau de string une ligne spécifiée d'un dataTable
            public string[] toStringLigneDataTable(DataTable table, int index)
            {
                if (index >= table.Rows.Count)
                {
                    throw new ArgumentException("Argument non valide.", "index");
                }
     
                string[] row = new string[table.Columns.Count];
     
                for (int i = 0; i < table.Rows[index].ItemArray.Length; i++)
                {
                    object o = table.Rows[index].ItemArray[i];
                    if (o != null)
                    {
                        row[i] = o.ToString();
                    }
                    else
                    {
                        row[i] = "NULL";
                    }
                }
                return row;
     
            }

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

Discussions similaires

  1. Enregistrer donner Textbox dans une case précise sur excel
    Par nicolas591 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 16/01/2012, 00h17
  2. Réponses: 9
    Dernier message: 18/02/2008, 11h25
  3. Réponses: 3
    Dernier message: 17/01/2008, 12h51
  4. [JXTable] Sélection d'une case précise
    Par doons dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 11/01/2008, 11h43
  5. Réponses: 6
    Dernier message: 17/03/2006, 11h44

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