В некоторых случаях вы не можете установить AutoGenerateColumns в false.
У меня есть приложение (ReleaseManager), в котором я заранее не знаю SQL. Поэтому во время настройки сайта они вводят строку подключения и SQL, чтобы вывести список ошибок из своей базы данных отслеживания ошибок. Я использую это, чтобы получить таблицу во время выполнения со строками из их системы отслеживания ошибок. Оттуда я добавляю столбец с флажками, чтобы они могли выбирать элементы отслеживания ошибок, соответствующие запросу на выпуск.
dtIssues.Columns.Add(new DataColumn("Include", typeof(Boolean)));
dtIssues.Columns["Include"].SetOrdinal(0);
Итак, я добавил логический столбец, который связывается как флажок, а затем установил его в качестве первого столбца. В моем GridView для AutoGenerateColumns установлено значение «True».
Требованием для введенного ими SQL является то, что первым столбцом должен быть столбец Id в их таблице отслеживания ошибок (остальное меня не волнует), я могу переименовать то, что мне дают:
dtIssues.Columns[1].ColumnName = "ID";
Так вот как это выглядит:
(источник: digitaltools.com )