Colonnes en trop dans DataGridView

Le
alain_nicolas
Bonjours,
Dans un DataGridView j'ai défini 3 colonnes A, B, C et un bouton Détail
Dans mon datasource (une collection d'objets) il y a les colonnes A, B, C,
D, E
Problème :
Toutes les colonnes du datasource s'affichent dans le DataGrid et en plus le
bouton Détail n'est plus en dernière colonne mais au milieu.
Question : comment faire pour que le DataGridView n'affiche que les colonnes
définies à la conception (A,B,C et le bouton en dernier).
Merci d'avance,
Alain
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jérémy Jeanson
Le #18982871
Bonjour Alain,

Pour déterminer manuellement les colonnes d'un DataGridView il n'y a
rien de sorcier il faut juste suivre 2 petite étapges :

1) dire au DataGridView qu'il ne génère pas automatiquement ses
coloonnes : AutoGenerateColumns="False"

2) saisir le colonnes dans la collesction Columns

Voici un exmeple de code pour ASP, en Winform c'est à peut près la même
chose mais via le designer de propriétés.

<asp:DataGridView ID="GridView1" runat="server"
AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="A" HeaderText="A" />
<asp:BoundField DataField="B" HeaderText="B" />
<asp:BoundField DataField="C" HeaderText="C" />
<asp:ButtonField Text="Détail" CommandName="NomdeTaCommande" />
</Columns>
</asp:DataGridView >


--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
alain_nicolas
Le #18983101
Bonjour,
Désolé, j'ai oublié de préciser qu'il s'agisssait de WinForms.
Alain

"Jérémy Jeanson" a écrit :

Bonjour Alain,

Pour déterminer manuellement les colonnes d'un DataGridView il n'y a
rien de sorcier il faut juste suivre 2 petite étapges :

1) dire au DataGridView qu'il ne génère pas automatiquement ses
coloonnes : AutoGenerateColumns="False"

2) saisir le colonnes dans la collesction Columns

Voici un exmeple de code pour ASP, en Winform c'est à peut près la même
chose mais via le designer de propriétés.

<asp:DataGridView ID="GridView1" runat="server"
AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="A" HeaderText="A" />
<asp:BoundField DataField="B" HeaderText="B" />
<asp:BoundField DataField="C" HeaderText="C" />
<asp:ButtonField Text="Détail" CommandName="NomdeTaCommande" />
</Columns>
</asp:DataGridView >


--
Jérémy JEANSON
MCP
http://www.jjeanson.fr



Jean-Luc M.
Le #19000401
Avec un attribut [Browsable(False)] pour les propriétés à ne pas
afficher

--
Jean-Luc M.
Jérémy Jeanson
Le #19018601
Bonjour Jean-Luc,

??? Pourquoi parles tu de [Browsable]??? il s'agit d'un attribut que
l'on ajoute à une classe (faite maison) pour dire si oui ou non on
souhaite voir une propriété apparaitre dans de designer de Visual Studio...
Tu ne nous ferais pas un gros hors sujet là?
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Jean-Luc M.
Le #19021311
Jérémy Jeanson avait énoncé :
Bonjour Jean-Luc,

??? Pourquoi parles tu de [Browsable]??? il s'agit d'un attribut que l'on
ajoute à une classe (faite maison) pour dire si oui ou non on souhaite voir
une propriété apparaitre dans de designer de Visual Studio...
Tu ne nous ferais pas un gros hors sujet là?



ça marche aussi pour l'affichage dans les grid.

public partial class Form1 : Form
{
Personnes personnes = new Personnes()
{
new Personne(){Nom = "Dumas", Prenom = "Alexandre"}
};

public Form1()
{
InitializeComponent();
dataGridView1.DataSource = personnes;
}
}

class Personne
{
public string Nom { get; set; }
[Browsable(false)]
public string Prenom { get; set; }
}

class Personnes : List<Personne> { };

N'affichera que la colonen Nom

--
Jean-Luc M.
Jérémy Jeanson
Le #19026281
Bonjour Jean-Luc,

Merci pour l'astuce,
Je trouve que cette information très intéressante ;)
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Publicité
Poster une réponse
Anonyme