2009-09-11 7 views

Répondre

3

avant de se lier à l'ensemble de sources de données:

grd.AutoGenerateColumns = false; 

créer vous-même toutes les colonnes DataGridView et les lient à la source de données:

DataGridViewTextBoxColumn dgvc = new DataGridViewTextBoxColumn(); 
dgvc.HeaderText = "column_header"; 
dgvc.DataPropertyName = "column_name"; 

créer un DataGridViewButtonColumn.

DataGridViewButtonColumn dgvbt = new DataGridViewButtonColumn();    

Si vous voulez que cette colonne ne est pas lié, définir le texte d'en-tête, le même texte sur tous les boutons:

dgvbt.HeaderText = "OK?"; 
dgvbt.Text = "ok";      // works also when bound 
dgvbt.UseColumnTextForButtonValue = true; // 

Si vous voulez que votre colonne à aussi limitée et chaque bouton le texte de sous-jacent cellule, lier:

dgvbt.DataPropertyName = "column_bt"; 

colonnes Ajouter des créées au DataGridView:

grd.Columns.Add(dgvc); 
grd.Columns.Add(dgvbt); 

gérer l'événement CellClick du DataGridView:

grd.CellClick += new DataGridViewCellEventHandler(grd_CellClick); 


void grd_CellClick(object sender, DataGridViewCellEventArgs e) 
{ 
    if (e.RowIndex >= 0 && e.ColumnIndex == index_of_button_column) 
    { 
     MessageBox.Show(this, e.RowIndex.ToString() + " Clicked!"); 
     //... 
    } 
} 

pour plus, voir:

http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewbuttoncolumn.aspx

Questions connexes