Вы видите ошибку, потому что вы добавляете базовый тип столбца DataGridViewColumn
, которому не назначен шаблон ячейки.Если бы DataGridView попытался назначить новую ячейку для этого столбца, он не знал бы, что делать.
Вы можете либо выбрать тип столбца, либо установить шаблон ячейки столбца для ячейки.
DataGridViewTextBoxColumn col = new DataGridViewTextBoxColumn();
datagridview1.Columns.Add(col);
или
DataGridViewColumn col= new DataGridViewColumn();
DataGridViewTextBoxCell cell = new DataGridViewTextBoxCell();
col.CellTemplate = cell;
datagridview1.Columns.Add(col);
Существует несколько доступных типов столбцов.
Однако что вы, вероятно, хотите сделать, - это позволить столбцам автоматически генерироваться,Если для свойства DataGridView столбцы AutoGenerate установлено значение true
(по умолчанию), столбцы создаются при назначении источника данных.
Часто полезно добавлять столбцы программным способом (например, добавление столбца с флажком для выбора строк)но в этом случае вам не нужно этого делать.