1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
public bool DataTableCompare(DataTable dt1, DataTable dt2, List<string> filter)
{
if (dt1 == null && dt2 != null) { return false; }
if (dt1 != null && dt2 == null) { return false; }
if (dt1 == null && dt2 == null) { return true; }
if (dt1.Rows.Count != dt2.Rows.Count) { return false; }
for (int rowIndex = 0; rowIndex < dt2.Rows.Count; rowIndex++)
{
for (int colIndex = 0; colIndex < dt2.Columns.Count; colIndex++)
{
// 指定したタイトルは比較の対象から外します。
if (filter.Contains(dt1.Columns[colIndex].Caption))
{
continue;
}
if (!dt1.Rows[rowIndex][colIndex].Equals(
dt2.Rows[rowIndex][colIndex]))
{
return false;
}
}
}
return true;
}
|