none
ajout colonne dans datagrid RRS feed

  • Question

  • bonjour à tous
    j'essaye de creer une colonne sur un datagrid et je n'arrive pas à la visualiser .
    Pourriez vous m'aidez svp
    voici mon code :
    protected void Page_Load(object sender, EventArgs e)
            {
                // la chaine de connection est récupérée depuis le dataContext
                // pas besoin donc de la redefinir ici
                DataClasses1DataContext ledatc = new DataClasses1DataContext();
                DataGrid mondata = new DataGrid();
                mondata.DataSource = ledatc.mavue;
                mondata.DataBind();
    
                //-------------------- LE BOUTON DETAIL
                
                ButtonColumn ledetail = new ButtonColumn();
                ledetail.HeaderText = "Detail";
                ledetail.Text = "voir";
                ledetail.CommandName = "voir";
                ledetail.ButtonType = ButtonColumnType.LinkButton;
                ledetail.Visible = true;
               
                // Add column to Columns collection.
                mondata.Columns.Add(ledetail);
               
                //--------------------  FIN BOUTON DETAIL
    
                mondata.Font.Size=8 ;
                mondata.AlternatingItemStyle.BackColor = Color.Beige;
                mondata.BorderColor = Color.Red;
         
                // important !!!! sinon rien ne s'affiche 
                this.Controls.Add(mondata);
               
    



    }










    quand je lance l'execution j'ai bien mes colonnes mais pas celle que j'ai rajoutée (le detail)
    je n'arrive pas à deceler l'erreru
    merci d'avance
    Cordialement

    Alain
    mardi 23 février 2010 09:55

Réponses

  • Depuis la version 2.0 du framework la GridView remplace la DataGrid qui est un composant de la version 1.1
    Le support de la datagrid est toujours présent mais dans le cadre d'un nouveau développement tu peux passer à la GridView.
    Tu y retrouveras les mêmes types de fonctionnalité dont tu as besoin. ( voir ici par ex )

    Cordialement
    • Marqué comme réponse algeox mardi 23 février 2010 11:29
    mardi 23 février 2010 11:08
    Modérateur

Toutes les réponses

  • Bonjour,

    plutôt que d'ajouter la DataGrid dans ton code behind, je te conseille de l'ajouter dans le fichier aspx.
    Seule l'association à la source de donnée sera à effectuer dans l'evènement page load.

    En passant la propriété AutoGenerateColumns à false tu peux définir et controler les colonnes à afficher et ajouter directement la colonne détail toujours dans le fichier aspx.
    Pour ajouter les colonnes de données tu pourras utiliser le type BoundColumn.

    Tu peux trouver des exemples sur msdn ici par exemple

    Cordialement

    mardi 23 février 2010 10:39
    Modérateur
  • bonjour et merci pour ce conseil.
    cependant, j'avais effectivement tenté ça mais j'ai laissé tomber car je n'ai pas de datagrid dans ma boite à outils qaund je met met en mode design .. est ce normal ?
    mardi 23 février 2010 10:58
  • Depuis la version 2.0 du framework la GridView remplace la DataGrid qui est un composant de la version 1.1
    Le support de la datagrid est toujours présent mais dans le cadre d'un nouveau développement tu peux passer à la GridView.
    Tu y retrouveras les mêmes types de fonctionnalité dont tu as besoin. ( voir ici par ex )

    Cordialement
    • Marqué comme réponse algeox mardi 23 février 2010 11:29
    mardi 23 février 2010 11:08
    Modérateur
  • Ok Merci beaucoup pour toutes ces précisions
    Bonne journée
    Cordialement
    Alain

    mardi 23 février 2010 11:30