我目前正在检查数据行是否等于验证数据。行包含的列被分配了不同的值类型,可以是datetimes,int或转义字符串。没有匹配的行以红色突出显示。到目前为止,我还没有能够让我的程序显示任何匹配的行。我已经尝试过使用DataRowComparer来为我做这件事,但这给了我同样的问题。
if(data.ColumnCount != dtSched.Columns.Count){
MessageBox.Show("Unequal number of columns");
}
else
{
foreach(DataGridViewRow cRow in data.Rows){
bool match = false;
foreach(sRow in dtSched.Rows){
DataRow temp;
temp = ((DataRowView)cRow.DataBoundItem).Row;
bool same = true;
for(int i = 0; i < cRow.Cells.Count; i++){
if(!temp[i].ToString().Equals(sRow[i].ToString())) same = false;
}
if(same == true) match = true;
}
if(match == false) cRow.DefaultCellStyle.BackColor = Color.Red;
}
}
感谢您的帮助。非常感谢!