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 :

liste colonne dans gridView.DataSource


Sujet :

C#

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Points : 1 041
    Points
    1 041
    Par défaut liste colonne dans gridView.DataSource
    Bonjour,
    dans un datagrid je souahaiterais lister le nom de chacune des colonnes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
                            foreach (DataColumn dataColumn1 in gridView1.DataSource)
                            {
                                if (dataColumn1.ColumnName.ToLower() == ((string)dr["NameControl"]).ToLower())
                                {
                                    fieldName1 = dataColumn1.ColumnName;
                                    break;
                                } 
                            }
    Mais j'ai une erreur
    Comment puis je faire?

    Merci

  2. #2
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 116
    Points : 158
    Points
    158
    Par défaut
    Bonjour,

    première chose, pour une aide plus efficace, il faut détailler l'erreur. Ça évite au visiteurs de devoir revoir tout le code pour savoir ou ça ne va pas.

    Pour ton problème, je pense que ta boucle est mauvaise.

    Les objets du dataSource ne sont pas des colonnes, mais pour parcourir toutes les colonnes, utilises la propiété Columns, et non DataSource :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     foreach (DataColumn dataColumn1 in gridView1.Columns)
                            {
                                if (dataColumn1.ColumnName.ToLower() == ((string)dr["NameControl"]).ToLower())
                                {
                                    fieldName1 = dataColumn1.ColumnName;
                                    break;
                                } 
                            }

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Points : 1 041
    Points
    1 041
    Par défaut
    Merci pour ta réponse mais l'objectif est de tester le nom des colonnes pour ne pas avoir de problème de case pour créer ces colonnes.
    donc cela ne répond pas a mon problème car aucune colonne est créée avant le test.

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 116
    Points : 158
    Points
    158
    Par défaut
    Et pourtant tu continu a ne pas expliquer l'erreur...

    Comment veux tu résoudre ton problème?

    A quoi correspond dr?

    Le cast de string ne se fait pas comme ça, mais plutôt en utilisant .ToString(). Utilise le avant le .ToLower().

    Essaye de remplacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ((string)dr["NameControl"]).ToLower()
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    (dr["NameControl"]).ToString().ToLower()

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Points : 1 041
    Points
    1 041
    Par défaut
    Bonjour,
    le problème n'est pas la en essayant ta solution cela ne test aucune colonne car les colonnes n'ont pas été créée.
    donc je vais lister les colonnes du dataset bindé à a la data source ce qui me permettra de tester les noms.

Discussions similaires

  1. Récup n° colonnes dans GridView
    Par sandre dans le forum ASP.NET
    Réponses: 1
    Dernier message: 15/01/2008, 15h17
  2. figer colonne dans gridview
    Par beabea dans le forum ASP.NET
    Réponses: 1
    Dernier message: 17/08/2007, 16h04
  3. Liste en 2 colonnes dans un état
    Par gregius dans le forum IHM
    Réponses: 3
    Dernier message: 14/01/2007, 09h05
  4. Réponses: 2
    Dernier message: 05/12/2006, 15h29
  5. largeur de colonne dans une zone de liste
    Par fsautejeau dans le forum Access
    Réponses: 2
    Dernier message: 25/08/2006, 13h29

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