Visual Studio добавляет столбцы в DataGridView после запуска программы - PullRequest
4 голосов
/ 27 февраля 2009

У меня есть сетка данных, связанная с тремя столбцами в базе данных, и она только отображает их (без редактирования). Когда я запускаю программу в режиме отладки и завершаю работу, когда я возвращаюсь к форме в Visual Studio, у меня есть три столбца плюс все столбцы в таблице, с которой она связана. Если я не удалю их, при следующем запуске программы они появятся в форме. Если я удаляю их, я должен делать это каждый раз, когда запускаю программу.

Есть идеи как это исправить?

Ответы [ 3 ]

4 голосов
/ 27 февраля 2009

Согласно это есть ошибка в Visual Studio, которая требует, чтобы вы установили для источника привязки значение none / null перед его изменением (похоже, оно существовало с 2005 года). Я удалил все столбцы, установил для источника привязки значение none, затем сбросил источник привязки до желаемого и отредактировал столбцы. Сейчас работает.

4 голосов
/ 27 февраля 2009

AutoGenerateColumns установлено на True?

Вы должны установить его на False, если хотите запретить DGV создавать столбцы (в дополнение к тем, которые вы создали вручную) из источника данных.

Редактировать: Чтобы уточнить, это, по общему признанию, странное поведение может возникнуть, если свойство не установлено в False в самом режиме разработки. Я имею в виду угловой случай, в котором вы устанавливаете его на False во время выполнения. Я бы также взглянул на файл конструктора (вам может потребоваться щелкнуть опцию «показать все файлы», чтобы просмотреть его) и посмотреть, что в нем содержится, касающегося DGV. Там может быть проблема.

В качестве альтернативы, вы пытались удалить сам элемент управления и создать новый DGV с такими же привязками?

3 голосов
/ 20 февраля 2013

После долгих раскопок это решение наконец решило его для меня:

Похоже, что компилятор портит файл .resx (который содержит информацию о макете формы, включая столбец настройки), что означает, что при следующей загрузке конструктора он воссоздает все столбцы из источника данных.

Исправление выглядит следующим образом:

Сделайте «показать все файлы», а затем просмотрите файл .resx, связанный с сформировать и изменить столбцы, которые дают вам аберрант поведение ... искать имя столбца с последующим ".UserAddedColumn" Вход и установите его в False. В моем случае я даже дошел до полностью удалите записи, которые говорят "[columnName] .UserAddedColumn".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...