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