просто установите nameCount = 1
и увеличьте Count
, если found == true
bool found = false;
int nameCount = 1;
if (dataGridView1 != null)
{
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (row.Cells[0].Value != null && row.Cells[0].Value.ToString() == fullName)
{
found = true;
row.Cells[1].Value = Convert.ToInt32(row.Cells[1].Value) + 1;
}
}
if (!found)
{
dataGridView1.Rows.Add(new object[] { fullName, nameCount });
}
}
, если вы хотите сделать это с другимРешение попробуйте это
var list = dataGridView1.Rows.OfType<DataGridViewRow>()
.Select(x => x.Cells["FullName"].Value);
var q = from x in list
group x by x into g
let count = g.Count()
orderby count descending
select new { FullName = g.Key, Count = count };
foreach (var item in q)
{
dataGridView2.Rows.Add(new object[] { item.FullName, item.Count });
}
Для получения дополнительной информации, проверьте ответ здесь и здесь