c#:如何以编程方式突出显示/删除datagridview中的行

l--*_*''' 3 .net c# datagrid

我有一个查询的结果被转储到datagridview.它看起来像这样:

QC3 498.46
QC4 1,251.63
QC1 862.62
QC2 1,432.21
Run Code Online (Sandbox Code Playgroud)

我需要两件事

  1. 能够以编程方式删除第二个字段= 862.62(或只删除第三行)的datagrid的所有行
  2. 我需要以编程方式突出显示并向下滚动到该行以向用户显示第一个字段的位置QC4,第二个字段是第二个 字段1,251.63

Jef*_*ata 5

能够以编程方式删除第二个字段= 862.62的所有datagrid行

var rowsToRemove = from DataGridViewRow r in dataGridView1.Rows
                    where r.Cells[1].Value.ToString() == "862.62"  // use whatever conversion is appropriate here
                    select r;

foreach (var r in rowsToRemove)
    dataGridView1.Rows.Remove(r);
Run Code Online (Sandbox Code Playgroud)

要删除特定索引处的行,请调用RemoveAt:

dataGridView1.Rows.RemoveAt(2);
Run Code Online (Sandbox Code Playgroud)

我需要以编程方式突出显示并向下滚动到该行以向用户显示第一个字段是QC4的位置,第二个字段是1,251.63

找到要选择的行,然后设置Selected属性和FirstDisplayedScrollingRowIndex属性:

rowToSelect.Selected = true;
dataGridView1.FirstDisplayedScrollingRowIndex = rowToSelect.Index;
Run Code Online (Sandbox Code Playgroud)