2

如何从数据表中删除一行_考虑我的数据表中有 12 行,我需要使用特定的行值删除其中的一个。

数据表:

Field Name | Field Type 
------------------------
FirstName  |  Text box
           |
LastName   |  Text box

我需要使用下面的代码片段从表本身中删除选定的行,我可以检索 FirstName

string value = (string)selectedRows[i].Cells[0].Value;
Console.WriteLine(outdex);

但是如何从数据表中删除它

有人可以帮我吗?

4

4 回答 4

2

从 OP 的其他问题中,他想从 a 中获取选定的行DataGridView并从临时 中删除该行DataTable

//Get the row that is selected
DataGridViewRow dr = selectedRows.Cast<DataGridViewRow>().FirstOrDefault();
//Your temp DataTable
DataTable dtTemp = new DataTable();
//If there is a row selected
if (dr != null)
{
  var rowToRemove = dtTemp.Rows.Cast<DataRow>().FirstOrDefault(row => row[0] == dr.Cells[0].Value);
  if (rowToRemove != null)
    dtTemp.Rows.Remove(rowToRemove);
}
于 2013-03-06T13:54:30.813 回答
1

干得好:

dt.Rows.Cast<DataRow>()
       .Where(r => r.ItemArray[0] == "Any_Value")
       .ToList()
       .ForEach(r => r.Delete());

或者

DataView view = new DataView(dt);
view.RowFilter = "Column_name = 10";

foreach (DataRowView row in view)
{
  row.Delete();
}
于 2013-03-06T13:51:13.270 回答
1

尝试使用以下代码,

  var rows = dataTable.Select("condition to select");
    rows.ForEach((r) => r.Delete(););
    dataTable.AcceptChanges();
于 2013-03-06T13:51:42.547 回答
0
if (value == "some deleteValue")
    selectedRows[i].Delete();

但是,如果在循环中执行此操作,您可能会想要更多类似以下的答案: Deleting specific rows from DataTable

于 2013-03-06T13:51:04.637 回答