Если вы хотите получить прямой доступ к строкам и столбцам в сетке, вы должны создать их
dataGridView1.Columns.Add("c1", "c1");
dataGridView1.Columns.Add("c2", "c2");
dataGridView1.Rows.Add(10);
добавит 10 пустых строк с 2 столбцами в сетке, затем вы можете заполнить их значениями.
Альтернативно вы можете привязать ваш набор данных к элементу управления
dataGridView1.DataSource = ds.Tables[0]
отобразит вашу таблицу с автоматически сгенерированными столбцами, без необходимости настройки вида сетки.