1

ユーザーが行を削除できるようにするDataGridViewを取得しました(DataGridViewを直接編集したり追加したりしません)。ユーザーが DataGridView で行を削除するたびに、データベース情報を更新します (DB とグリッドビューの間にバインディングはありません)。

以下のような DeletingRow イベントを使用してユーザーが 1 つの行のみを削除している場合、行を削除しても問題はありません。

private void dataGridView1_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e)
{
    DataGridViewRow row = e.Row;     //only single row
}

ただし、ユーザーが複数の行を選択して削除すると、すべての行のリストをキャプチャできませんでした。上記のイベントは、最初の行のみに対して 1 回だけ呼び出されます。このケースを処理するために設定しましたが、これは回避策です! では、現在ユーザーが削除している選択されたすべての行のリストを取得するにはどうすればよいですか?dataGridView1.MultiSelect = false;

4

2 に答える 2

1

dataGridView1.SelectedRows選択したすべての行を含むコレクション (DataGridViewRowCollectionタイプ)を取得するために使用します。列 ( dataGridView1.SelectedColumns) とセル ( )についても同様dataGridView1.SelectedCellsです。

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

于 2013-08-11T05:35:49.710 に答える