1

DataGridView にデータがあり、そこから行を選択して削除したいと考えています。削除クエリを保持するフォームにボタン DELETE があります

var note = (from n in dataCont.Past_Notes where n.ID == ? select n).First();

コードで ID を手動で指定すると、完全に機能します (疑問符がある場所)。

でも、こんなことはしたくない。選択した行のインデックスを取得してその行を削除するには?

 private void button2_Click(object sender, EventArgs e)
 {
     Past_Sticky_NotesDataContext dataCont = new Past_Sticky_NotesDataContext();

     var note = (from n in dataCont.Past_Notes
                 where n.ID == ?
                 select n).First();

     dataCont.Past_Notes.DeleteOnSubmit(note);
     dataCont.SubmitChanges();
 }

LINQ クエリを使用する必要があります。

4

1 に答える 1

0

設定する必要がありますDataGridView.MultiSelect=false-DataGridView.SelectionMode = FullRowSelect. これyour_dataGridView_name.SelectedRows[0]により、選択された行が返されます。次に、行の id セルの値を取得しますselectedRow.Cells[your_id_index]。LINQクエリ
編集
で使用するか、 別のプロパティを使用してselectedRowインデックスを取得できますdatagridview.CurrentCell.RowIndex

于 2012-12-16T21:48:43.653 に答える