Hello,
Try something like this way
DataTable dtuserrole=new DataTable();
dtuserrole.Columns.Add("Name");
dtuserrole.Columns.Add("Role");
dtuserrole.Rows.Add("A","Admin");
dtuserrole.Rows.Add("B","Admin");
dtuserrole.Rows.Add("C","User");
dtuserrole.Rows.Add("D","User");
dtuserrole.Rows.Add("E","Stuff");
dtuserrole.Rows.Add("F","User");
dtuserrole.Rows.Add("G","Superuser");
dtuserrole.Rows.Add("H","User");
dtuserrole.AcceptChanges();
var results = (from p in dtuserrole.AsEnumerable()
group p by new {Role=p.Field<string>("Role")}into g
select new { Role = g.Key, Count = g.Count()});
and the output will be
foreach(var dr in results)
Console.WriteLine("Role: "+dr.Role + "; Count: "+dr.Count);
Role: { Role = Admin }; Count: 2
Role: { Role = User }; Count: 4
Role: { Role = Stuff }; Count: 1
Role: { Role = Superuser }; Count: 1
Thanks