c# Заполнение DataGridView без пустых ячеек

Всем привет. Нужно вставить в dgv значения из Dictionary. Как эти значения правильно вывести в таблицу, чтобы не начиналось каждый раз с новой строки? введите сюда описание изображения

Да, я понимаю, что я просто вставляю в новую строку данные. Хотелось-бы узнать, как можно вставлять в ранее созданную строку данные.

Код:

            var Dictionary = BusinessMenu.dic;
            foreach (var Product in Dictionary.Values)
            {
                switch (Product.Type)
                {
                    case "Business":
                        dgv.Rows.Add($"{Product.Title}/{Product.Price}", null, null, null, null, null);
                        break;
                    case "Salad":
                        dgv.Rows.Add(null, $"{Product.Title}/{Product.Price}", null, null, null, null);
                        break;
                    case "Soup":
                        dgv.Rows.Add(null, null, $"{Product.Title}/{Product.Price}", null, null, null);
                        break;
                    case "HotDishes":
                        dgv.Rows.Add(null, null, null, $"{Product.Title}/{Product.Price}", null, null);
                        break;
                    case "Dessert":
                        dgv.Rows.Add(null, null, null, null, $"{Product.Title}/{Product.Price}", null);
                        break;
                    case "Drinkable":
                        dgv.Rows.Add(null, null, null, null, null, $"{Product.Title}/{Product.Price}");
                        break;
                }
            }

Ответы (2 шт):

Автор решения: Евгений Панкратов

Можно использовать обращение к конкретной ячейке.

dataGridView1.Rows[1].Cells[1].Value = "Tets";
→ Ссылка
Автор решения: Frehzy

Написал решение. Не очень красиво, с костылями, но работает:

dgv.Rows.Add();
FreeIndex = 0;
foreach (DataGridViewRow row in dgv.Rows)
    {
        if (row.Cells[5].Value is null)
        {
            dgv.Rows[FreeIndex].Cells[5].Value = $"{Product.Title}/{Product.Price}";
            break;
        }    
        else
        FreeIndex++;
    }

и потом, чтоб убрать лишние строки пустые:

            var rowsToRemove = new List<int>();
            foreach (DataGridViewRow row in dgv.Rows)
            {
                int NullCount = 0;
                foreach (DataGridViewColumn column in dgv.Columns)
                {
                    if (row.Cells[column.Index].Value is null)
                        NullCount++;
                }

                if (NullCount == dgv.Columns.Count)
                    rowsToRemove.Add(row.Index);
            }

            rowsToRemove.Reverse();
            rowsToRemove.ForEach(i => dgv.Rows.RemoveAt(i));
            rowsToRemove.Reverse();
→ Ссылка