DataTable requête linq pour le groupe par une colonne
J'ai développé une application Windows à l'aide de C#. Utilisé un DataTable à la liste de toutes les informations. Les Données-Tableau des valeurs dupliquées.
Mon résultat:
Lead Owners <2Days <5Days <10Days <20Days >20Days Grand-Total
Dan Mahoney 1
Richard James Whitaker 1
Richard James Whitaker 1
Richard James Whitaker 1
Richard James Whitaker 1
Wayne Dunne 1
Wayne Dunne 1
Richard James Whitaker 1
Wayne Dunne 1
Richard James Whitaker 1
Richard James Whitaker 1
Résultat Attendu:
Lead Owners <2Days <5Days <10Days <20Days >20Days Grand-Total
Dan Mahoney 1
Richard James Whitaker 7
Wayne Dunne 3
J'ai besoin d'une requête linq pour atteindre le résultat attendu.
De bien vouloir m'aider à obtenir ce.
Merci à l'avance.
- Est le résultat attendu aussi un
DataTable
?
Vous devez vous connecter pour publier un commentaire.
Si vous souhaitez créer un nouveau
DataTable
qui contient les valeurs agrégées LINQ n'est pas le meilleur outil pour l'ensemble de la tâche. Vous devez utiliserDataTable.Clone
pour créer une table vide avec le même schéma.Ensuite utiliser pouvez utiliser
Enumerable.GroupBy
sur votre table source de la colonne clé. Enfin, utiliser une boucle pour ajouter leDataRow
s avec les valeurs agrégées:J'ai présumé que le type des colonnes numériques est
int
.Résultant de table:
Vous pouvez utiliser CopyToDataTable méthode pour créer la nouvelle Table de résultats de la requête, si vous en avez vraiment besoin d'être DataTable: Créer une Table à Partir d'une Requête