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 :

Récupérer le contenu de DataGridView dans string[][]


Sujet :

C#

  1. #1
    Membre habitué Avatar de stephane.julien
    Inscrit en
    Septembre 2007
    Messages
    342
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2007
    Messages : 342
    Points : 130
    Points
    130
    Par défaut Récupérer le contenu de DataGridView dans string[][]
    Bonjour,

    J'aimerais récupérer le contenu d'une DataGridView tel qu'affiché à l'écran (en prenant en compte l'ordre des colonnes et leur attribut Visible. J'aimerais les récupérer dans un tableau deux dimensions de string. J'ai également un filtre type Excel sur ma DataGridView, donc je dois tenir compte des lignes affichées / cachées...

    Est-ce qu'il existe une méthode pour cela? Personellement je n'ai rien trouvé...

    Merci de votre aide !

  2. #2
    Membre habitué Avatar de stephane.julien
    Inscrit en
    Septembre 2007
    Messages
    342
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2007
    Messages : 342
    Points : 130
    Points
    130
    Par défaut
    N'ayant trouvé aucune solution native, je l'ai implémenté. Je parcours mon tableau selon les colonnes et les lignes visibles et retourne un List<List<string>> :

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    public static List<List<string>> GetContent(DataGridView _grid, bool _bAddColumnHeaders)
        {
          //Création des variables
          ArrayList l_aiDisplayedColumnsIndex = new ArrayList();
          DataGridViewColumn l_tmpColumn;
          int l_iRowIndex;
     
          List<List<string>> l_lstlstReturn = new List<List<string>>();
     
          l_tmpColumn = _grid.Columns.GetFirstColumn(DataGridViewElementStates.Visible);
     
          //Il n'y a aucune colonne dans le DataGridView
          if (l_tmpColumn == null)
          {
            string[] l_asTmp = new string[0];
     
            return null;
          }
     
          //Récupération des index de colonnes visibles, et de la colonne de titre
          List<string> l_lstRowTitle = new List<string>();
          do
          {
            l_aiDisplayedColumnsIndex.Add(l_tmpColumn.Index);
            l_lstRowTitle.Add(l_tmpColumn.HeaderText);
     
            l_tmpColumn = _grid.Columns.GetNextColumn(l_tmpColumn, DataGridViewElementStates.Visible, DataGridViewElementStates.None);
          } while (l_tmpColumn != null);
     
          if (_bAddColumnHeaders)
            l_lstlstReturn.Add(l_lstRowTitle);
     
          //Ecriture du contenu
          l_iRowIndex = _grid.Rows.GetFirstRow(DataGridViewElementStates.Visible);
          while (l_iRowIndex != -1)
          {
            List<string> l_lstRow = new List<string>();
     
            for(int i=0;i<l_aiDisplayedColumnsIndex.Count;i++)
            {
              l_lstRow.Add(_grid[(int)l_aiDisplayedColumnsIndex[i], l_iRowIndex].FormattedValue.ToString());
            }
     
            l_lstlstReturn.Add(l_lstRow);
     
            l_iRowIndex = _grid.Rows.GetNextRow(l_iRowIndex, DataGridViewElementStates.Visible);
          }
     
          return l_lstlstReturn;
        }

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 26/11/2013, 20h12
  2. Réponses: 4
    Dernier message: 02/07/2012, 09h17
  3. Récupérer le contenu de TextInput dans une Grid
    Par guigui-in-the-place dans le forum Qt Quick
    Réponses: 4
    Dernier message: 12/10/2011, 23h36
  4. [DOM] Récupérer le contenu XML affiché dans une Iframe
    Par esseki dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 26/06/2008, 16h08
  5. comment récupérer un contenue de cellule dans son format
    Par fstrobel dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 29/11/2007, 13h49

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