Ух ты, я никогда не думал, что это будет ошибка в классе DataSetHelper.Кажется, у него есть некоторые проблемы с числовыми значениями.
Функция ColumnEqual должна быть изменена на:
private bool ColumnEqual(object a, object b)
{
/*
* Compares two values to see if they are equal. Also compares DBNULL.Value.
*
* Note: If your DataTable contains object fields, you must extend this
* function to handle them in a meaningful way if you intend to group on them.
*/
if ((a is DBNull) && (b is DBNull))
return true; //both are null
if ((a is DBNull) || (b is DBNull))
return false; //only one is null
return (a.ToString() == b.ToString()); //value type standard comparison
}
Разница в a.ToString () == b.ToString (),этот оригинал был == b.
В любом случае, спасибо!