2009-06-24 6 views

Répondre

40

il y a HeaderText propriété dans l'objet de colonne, vous pouvez trouver la colonne et définir son HeaderText après l'initialisation de la grille ou le faire dans le concepteur de formulaire Windows via le concepteur pour DataGrid.

public Form1() 
    { 
     InitializeComponent(); 

     grid.Columns[0].HeaderText = "First Column"; 
     //.............. 
    } 

Plus de détails sont here à MSDN. Plus de détails sur DataGrid sont here.

+0

Comment accomplissez-vous la même chose sans appeler l'événement cellvaluechanged? –

+0

Eh bien, il a un certain temps que je, mais je pense que si vous le faites via concepteur (si vous savez avant ce que vous voulez la main la valeur de colonne à) il ne devrait pas la peine d'appliquer l'événement. Ou vous pouvez définir un marqueur comme 'settingHeader = true;' et ensuite vérifier cela dans le gestionnaire 'callvaluechanged' pour ignorer n'importe quelle action. – TheVillageIdiot

5
grid.Columns[0].HeaderText 

ou

grid.Columns["columnname"].HeaderText 
44

Pour info, si vous liez à une classe, vous pouvez le faire dans votre type via DisplayNameAttribute:

[DisplayName("Access key")] 
public string AccessKey { get {...} set {...} } 

Maintenant, l'en-tête du texte sur l'auto Les colonnes générées seront "clé d'accès".

+0

Merveilleux, merci beaucoup. – esylvestre

+0

Oui! C'est la bonne réponse –

2
Dg_View.Columns.Add("userid","User Id"); 
Dg_View.Columns[0].Width = 100; 

Dg_View.Columns.Add("username", "User name"); 
Dg_View.Columns[0].Width = 100; 
2
private void datagrid_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) 
{ 
    string test = this.datagrid.Columns[e.ColumnIndex].HeaderText; 
} 

Ce code obtenir la valeur HeaderText.

0

Si vous travaillez avec le designer de Visual Studio, vous aurez probablement champs définis pour chaque colonne dans le par exemple de fichier YourForm.Designer.cs:

private System.Windows.Forms.DataGridViewCheckBoxColumn dataGridViewCheckBoxColumn1;  
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn2; 

Si vous leur donnez des noms utiles, vous pouvez définir les HeaderText facilement:

usefulNameForDataGridViewTextBoxColumn.HeaderText = "Useful Header Text"; 
Questions connexes