0

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 をボタンの値として割り当てる方法と、オブジェクトとしてクリックされたボタンで行を取得して、値を取得し、それに応じてデータテーブルで削除できるようにするにはどうすればよいですか?

ありがとうございました。

4

1 に答える 1