1. 新增 DataGridViewButtonColumn
DataGridViewButtonColumn dgv_button_col = new DataGridViewButtonColumn();
// 設定列的名字
dgv_button_col.Name = "Detail";
// 在所有按鈕上表示"檢視詳情"
dgv_button_col.UseColumnTextForButtonValue = true;
dgv_button_col.Text = "檢視詳情";
// 設定列標題
dgv_button_col.HeaderText = "詳情";
// 向DataGridView追加
dgvMain.Columns.Insert(dgvMain.Columns.Count, dgv_button_col);
2. 獲得按鈕被點選
點選DataGridViewButtonColumn的按鈕時,會觸發DataGridView.CellContentClick事件。這個事件處理器可以檢測被點選的按鈕是否在列中,如果在就會被觸發。
下面的例子就是當按鈕被點選時,取得是第幾行的按鈕被點選了。
private void dgvMain_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (dgvMain.Columns[e.ColumnIndex].Name == "Detail")
{
MessageBox.Show("行: " + e.RowIndex.ToString() + ", 列: " + e.ColumnIndex.ToString() + "; 被點選了");
}
}