Не думаю что решение будет оптимальным, но все же. Можно создать Dictionary . Пробежаться по тексту и для каждой соответствующей буквы сделать инкремент в Dictionary. Что-то вроде
Dictionary<char,int> result = new Dictionary<char,int>()
for(int i=0;i< source.length;i++)
{
try
{
result[source[i]]++;
}
catch(KeyNotFoundException)
{
result.Add(source[i],1);
}
}
Можно попробовать потом эту коллекцию указать как DataSource для DataGridView