Ναι, καταλαβαίνω την έλλειψη στην απάντησή μου..

Λοιπόν, ένας πολύ απλός τρόπος. Αν ξέρεις πόσοι είναι οι πελάτες ορίζεις 2 Arrays :
decimal synola[#πελατών]
int IDs[#πελατών]
Αν δε ξέρεις πόσοι είναι μπορείς να χρησιμοποιήσεις ArrayList (δε θα σου πω πώς εδώ, μπορείς να το βρεις αν δε ξέρεις ήδη)
Στο πρώτο loop που διαβάζεις τα dataRows μπορείς να κάνεις κάτι σαν αυτό
foreach (dataRow row in dataTable)
{
int id = //βρες το id από το dataRow
decimal ypoloipo = //βρες το υπόλοιπο από το dataRow
for(int i = 0; i < IDs.Count; i++) //ισως να χρειαστεί να έχεις κάνει populate τον IDs
{ //με το πρώτο id για να μπει την πρώτη φορά στη λούπα
if(id == IDs[ i ]) synola[ i ] += ypoloipo;
}
}
μετά από αυτό θα έχεις 2 Arrays με ίδιο Count, όπου θα ισχύει ID[ i ] -> synola[ i ]
Βγάζω νόημα????