DataTable にバインドされた DataGridView があります。行の削除ボタンとして機能する DataGridViewButtonColumn を追加しました。
DataTable にバインドされているため、削除ボタンをクリックして行のオブジェクトを取得し、DataTable から削除してから DataGrid を更新できるようにしたいと考えています。
これが私のボタンのセットアップ方法です:
var colDelete = new DataGridViewButtonColumn();
colDelete.Name = "DeleteButton";
colDelete.HeaderText = "Delete";
colDelete.Text = "Delete";
colDelete.UseColumnTextForButtonValue = true;
colDelete.DataPropertyName = "EthnicityDetailID";
colDelete.DisplayIndex = 10;
dataGridEthnicityData.Columns.Add(colDelete);
これは、ボタンクリックイベントを処理する方法を計画しています:
private void dataGridEthnicityData_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
try
{
var senderGrid = (DataGridView)sender;
if (senderGrid.Columns[e.ColumnIndex] is DataGridViewButtonColumn &&
e.ColumnIndex == senderGrid.Columns["DeleteButton"].Index)
{
//ethnicityDataTable.Rows.RemoveAt(e.RowIndex);
dataGridEthnicityData.Refresh();
}
}
catch (Exception ex)
{
MessageBox.Show("Error deleting ethnicity data: " + ex.Message + " " + ex.StackTrace);
}
}
EthnicityDetailID をボタンの値として割り当てる方法と、オブジェクトとしてクリックされたボタンで行を取得して、値を取得し、それに応じてデータテーブルで削除できるようにするにはどうすればよいですか?
ありがとうございました。