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

ASP.NET Discussion :

GridView - Nom colonne


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 201
    Par défaut GridView - Nom colonne
    Bonjour,

    je souhaite pouvoir modifier le nom de mes colonnes 'dynamiquement' de mon GridView.
    j'alimente le GridView avec un DataSource crée 'manuellement' en fonction des données contenues dans la base.

    mon GridView affiche correctement les informations, ne me reste plus qu'à changer le noms de X colonnes et fusionner quelques lignes
    Bien à vous



    PS: la proprété Columns de mon GridView est 'vide'

  2. #2
    Membre confirmé Avatar de bartoumi
    Profil pro
    Inscrit en
    Février 2005
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 178
    Par défaut
    PS: la proprété Columns de mon GridView est 'vide'
    qu'est ce que tu veux dire par vide?

  3. #3
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Faut le databinder avant d'accéder à ses colonnes

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 201
    Par défaut
    Citation Envoyé par bartoumi Voir le message
    qu'est ce que tu veux dire par vide?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GridView.Columns.Count = 0
    Citation Envoyé par lutecefalco Voir le message
    Faut le databinder avant d'accéder à ses colonnes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    this.ResultatDataGrid.DataSource = table;
    this.ResultatDataGrid.DataBind();
     
    this.SetColumnHeaderText();

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 201
    Par défaut
    Du coup j'ai changé le nom de mes colonnes directement lors de la cration du DataTable qui alimente le DataGrid.
    Seulement, comme j'utilises un PagerStyle au sein de mon datagrid celui ci n'est pas "fusionner" avec l'ensemble de mes colonnes.

    voilà a quoi il ressemble



    Après avoir binder mon datasource j'ai toujours aucune colonne accessible via le code: DataGrid.Columns.Count = 0
    Peut être (ou plutôt surement) que le problème du pagerstyle viennent de là

    Savez vous comment je peux fixer le 'colspan' de la ligne du PagerStyle via le code-behind ?


    Bien à vous

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 201
    Par défaut
    Ci-joint le code utilisé qui résout le problème


    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
    // Si le datagrid génère automatiquement les colonnes et accepte le 'paging'
    // Alors le 'paging' est 'fusionner' sur l'ensemble des colonnes
    if (this.ResultatDataGrid.AutoGenerateColumns && this.ResultatDataGrid.AllowPaging)
    {
        Table table = (Table)this.ResultatDataGrid.Controls[0];
        // si le paging se trouve en bas du datagrid
        if (this.ResultatDataGrid.PagerStyle.Position == PagerPosition.Bottom || this.ResultatDataGrid.PagerStyle.Position == PagerPosition.TopAndBottom)
        {
            // fusionner l'ensemble des colonnes de la dernière ligne
            // là ou se trouver le 'pager'
            table.Rows[table.Rows.Count - 1].Cells[0].Attributes.Add("colspan", table.Rows[1].Cells.Count.ToString());
        }
        if (this.ResultatDataGrid.PagerStyle.Position == PagerPosition.Top)
        {
            // fusionner l'ensemble des colonnes de la 1ère ligne
            // là ou se trouver le 'pager'
            table.Rows[0].Cells[0].Attributes.Add("colspan", table.Rows[1].Cells.Count.ToString());
        }
    }

  7. #7
    Nouveau candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2013
    Messages : 2
    Par défaut Solution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    if (gridview.AllowSorting)
    {
        foreach (TableCell cell in gridview.HeaderRow.Cells)
            monStreamWriter.Write(((LinkButton)cell.Controls[0]).Text + ";");
    }
     else
    {
        foreach (TableCell cell in gridview.HeaderRow.Cells)
            monStreamWriter.Write(cell.Text + ";");
    }
        monStreamWriter.WriteLine();
    les cellules du HeaderRow sont des conteneurs gridview.HeaderRow.Cells

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

Discussions similaires

  1. Modification nom colonne dans une table
    Par Mvu dans le forum Langage SQL
    Réponses: 1
    Dernier message: 16/06/2006, 10h38
  2. Php Mysql - nom colonnes des tables
    Par splend_f dans le forum Requêtes
    Réponses: 3
    Dernier message: 21/04/2006, 12h03
  3. [ADO.Net][C# 2.0]Comment récupérer nom colonne PrimaryKey?
    Par superbobo dans le forum Accès aux données
    Réponses: 1
    Dernier message: 18/01/2006, 17h34
  4. [C#] GridView suppression colonne code behind
    Par damn dans le forum ASP.NET
    Réponses: 2
    Dernier message: 31/10/2005, 12h33
  5. [C#] GridView et colonne URL clickable
    Par MaxiMax dans le forum ASP.NET
    Réponses: 4
    Dernier message: 24/08/2005, 09h55

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