Тут зависит от того, как именно вы используете грид. Желательно выкладывать фрагмент кода.
Обычно с гридом используют DataSource, к примеру биндят в него dataSet, который содержит в себе Tables.
Выглядит это так:
dataGridView1.DataSource = dataSet.Tables[0];
(на месте "0" может быть и "Название таблицы")
В таком случае нам потребуется добавлять строку в таблицу Tables[0]
dataSet.Tables[0].Rows.Add();
dataSet.Tables[0].Rows[dataSet.Tables[0].Rows.Count - 1][int номер ячейки, куда добавить string] = receivedData;
Здесь нужно пояснить, что строки и ячейки в
dataSet.Tables
индексируются как
.Rows[int индекс строки][int индекс столбца/ячейки (Cells)]
, и для того, что бы узнать, какая наша строка добавилась (а добавилась она в конец), мы, узнав количество
Rows.Count
строк, вычитаем из
Count
1, т.к. индексирование в списках, массивах и т.д. начинается с 0, а в
Count
не может быть 0, если есть хоть одна строка, то
Count
уже будет равен 1.
Может потребоваться обновление грида:
dataGridView1.Update();