Вы не можете изменить тип столбца DataGridView после его создания, но ничто не мешает вам создавать столбцы по мере необходимости во время выполнения.
Таким образом, в зависимости от логики тип определяеткаждого столбца вы создаете столбцы по мере необходимости и добавляете их в DataGridView.
Ниже приведен пример создания столбца с флажком:
DataGridViewCheckBoxColumn col = new DataGridViewCheckBoxColumn()
dataGridView1.Columns.Add(col);
Без дополнительной информации о том, что определяет ваш столбец.типы, которые трудно дать больше советов, но вы можете легко использовать эту технику с DataTable, проверяя тип каждого из его столбцов или даже используя отражение над объектом, с которым вы связываете представление данных.