2009-04-17 4 views
0

J'ai un objet datatable, qui est rempli à partir d'un webservice.Datatable Compare Rows

Apparemment, le service Web me renvoie simplement tout (données). Les données qui obtient dans mes regards DataTable comme ceci:

Dept  Code Value 
Science ABC  5 
Science ABC  6 
Science DEF  7 
Math  ABC  3 
Math  DEF  9 
English ABC  2 
English DEF  3 
English DEF  4 
English DEF  5 

Maintenant, je veux créer un datatable qui calcule (et somme)/éliminer les valeurs dans datatable, de sorte que la nouvelle datatable aurait les données comme:

Dept  Code Value 
Science ABC  11 
Science DEF  7 
Math  ABC  3 
Math  DEF  9 
English ABC  2 
English DEF  12 

Veuillez prendre note que je ne pouvais modifier la datatable.

Quelqu'un peut-il m'aider? VB.Net s'il vous plaît. Merci.

Répondre

1

Une simple requête sommaire vous donnera ce que vous voulez:

SELECT Dept, Code, SUM(Value) sum_value FROM datatable GROUP BY Dept, Code 

Vous pouvez également créer une vue avec cette SQL definition, pour que vous puissiez simplement interroger la vue comme vous le feriez d'une table. Si vous commencez à avoir tellement de données que la requête est lente, vous devez stocker les résultats dans une table permanente - mais pour des quantités modérées de données cela devrait fonctionner correctement.

+0

Je ne peux pas modifier le SQL pour cette question. Comme je l'ai mentionné, je reçois un objet datatable dont les données sont envoyées par un webservice. C'est pourquoi j'ai besoin de faire les modifications sur le datatable. – Batuta

+0

Ahh, l'objet réel DataTable ... Je vais fouiner un peu plus. :-) –

+0

Cela m'a fourni un aperçu pour créer une autre datatable peuplée en itérant à travers le datatable original et en additionnant les valeurs avant de l'insérer dans le nouvel objet datatable. – Batuta