要从DataGridView中删除重复行,可以使用以下方法:
HashSet uniqueRows = new HashSet();
foreach (DataGridViewRow row in dataGridView1.Rows)
{
string rowData = "";
foreach (DataGridViewCell cell in row.Cells)
{
rowData += cell.Value.ToString();
}
if (!uniqueRows.Contains(rowData))
{
uniqueRows.Add(rowData);
}
else
{
// 如果行数据已经存在,删除该行
dataGridView1.Rows.Remove(row);
}
}
完整示例代码:
private void RemoveDuplicateRows()
{
HashSet uniqueRows = new HashSet();
foreach (DataGridViewRow row in dataGridView1.Rows)
{
string rowData = "";
foreach (DataGridViewCell cell in row.Cells)
{
rowData += cell.Value.ToString();
}
if (!uniqueRows.Contains(rowData))
{
uniqueRows.Add(rowData);
}
else
{
dataGridView1.Rows.Remove(row);
}
}
}
请注意,由于在循环中删除行会导致索引发生变化,因此可能需要进行适当的索引调整。