Причиной моей проблемы был тот факт, что я неправильно набрал TBL.Clear()
.
Вызов DataTable.Clear()
удалит данные из таблицы данных, но оставит столбцы на месте.
Вместо этого я должен был позвонить TBL.Columns.Clear()
, что избавляет от столбцов DataTable.Однако, используя точки останова и визуализатор DataTable Visual Studio, я заметил, что только вызов TBL.Columns.Clear()
оставил пустые строки в DataTable.Поэтому, чтобы ответить на вопрос о том, как избавиться от столбца в DataGridView, который вы не знаете, почему / как он существует, я предлагаю позвонить:
DataTable.Clear()
DataTable.Columns.Clear()
Перед установкой DataGridView равным вашемуDataTable.
Взято из MSDN:
Метод .Clear () из DataTable Class"очищает DataTable от всех данных."
Свойство DataTable.Columns получает "DataColumnCollection, который содержит коллекцию объектов DataColumn для таблицы"
Класс DataColumnCollection также имеет .Clear () Метод, который «очищает коллекцию любых столбцов».
Спасибо @TnTinMn за указание меня в правильном направлении с помощью точек останова и @LarsTech за то, что я сделал меняПонимаю, что я резко перепутал DataGridView и DataTable в своем первоначальном ответе.
Я надеюсь, что этот пост может помочь другим не позволить себе разорвать голову о том, откуда, казалось бы, материализовался несуществующий столбец в их базах данных ... Если это не решит вашу конкретную проблему.Я бы также проверил настройки Query, Database Table и DataGridView;но для меня проблема была с DataTable.