如何获取所选行ID并将其用于LINQ中的删除查询?

时间:2012-12-16 21:41:15

标签: c# linq

我在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查询。

1 个答案:

答案 0 :(得分:0)

您需要设置DataGridView.MultiSelect=falseDataGridView.SelectionMode = FullRowSelect. 然后your_dataGridView_name.SelectedRows[0] - 这将返回选定的行。然后,您在行selectedRow.Cells[your_id_index]中获得id cell的值。并在LINQ查询中使用它
修改
或者,您可以使用其他属性来获取selectedRow索引datagridview.CurrentCell.RowIndex