我有两个数据表,每个数据表都有 1 列:
dtTempCM
dtOldTempCM
在这两个表中,唯一的列名是Column1
我还有 2 个数据网格视图,每个都绑定到一个数据表:
dgvCurrentCM.DataSource = dtTempCM;
dgvOldCM.DataSource = dtOldTempCM;
如果它们不匹配,我如何比较每一行,并在一个(或两个)datagridviews 中突出显示它?到目前为止,我有这个:
foreach (DataRow row1 in dtTempCM.Rows)
{
foreach (DataRow row2 in dtOldTempCM.Rows)
{
var array1 = row1.ItemArray;
var array2 = row2.ItemArray;
if (array1.SequenceEqual(array2))
{
//change row/cell color in dgvCurrentCM to red
//change row/cell color in dgvOldCM to red
}
}
}
有任何想法吗?谢谢!
编辑:我也试过这个,但它会改变每个单元格的颜色,因为它将 dgvOldCM 中的每一行与 dgvCurrentCM 中的单行进行比较:
foreach (DataGridViewRow row1 in dgvCurrentCM.Rows)
{
foreach (DataGridViewRow row2 in dgvOldCM.Rows)
{
if (row1.Cells[0].Value != row2.Cells[0].Value)
{
row1.DefaultCellStyle.ForeColor = Color.Red;
row2.DefaultCellStyle.ForeColor = Color.Red;
}
}
}