ArgumentException был необработанным Application.run - PullRequest
0 голосов
/ 18 июня 2010

Привет! Я посетил много сайтов и, похоже, не могу найти ответ.

Я изменил представление, которое было подключено к Datagridview, подключенному через табличный адаптер в приложении C # Winforms, и для «повторного подключения» мне пришлось удалить табличный адаптер и повторно подключить его. Это должно было избавиться от ошибки, связанной с уникальными контрактами. Поэтому я исправил это, и теперь приложение запускается, но когда я нажимаю на вкладку, на которой находится эта сетка, я получаю:

System.ArgumentException was unhandled
  Message="Cannot bind to the property or column Id on the DataSource.\r\nParameter name: dataMember"
  Source="System.Windows.Forms"
  ParamName="dataMember"
  StackTrace:
       at System.Windows.Forms.BindToObject.CheckBinding()
       at System.Windows.Forms.BindToObject.SetBindingManagerBase(BindingManagerBase lManager).........

Я не могу найти ответ на эту проблему. Кто-нибудь может мне помочь?

Спасибо

Ответы [ 3 ]

0 голосов
/ 18 июня 2010

Я решил проблему, хотя мне не нравится мое решение.Я снова удалил TableAdapter и переименовал его на этот раз.Затем я переименовал все экземпляры с исходным именем (все 192 из них, хотя я удалил адаптер и воссоздал их, их было еще 192!в качестве имени адаптера таблицы, как это было по умолчанию. Надеюсь, это кому-нибудь поможет.

0 голосов
/ 22 июня 2010

Если вы измените схему в сетке или в представлении и обратитесь к полю, которого больше не существует, вы получите:

System.ArgumentException: невозможно связать с идентификатором свойства или столбца в имени DataSource.Parameter: dataMember

Имя столбца, который вы пропустили, указано после столбца слова. Мне не хватало столбца «ID». Я думал, что не смог привязать к свойству или столбцу Id например. Я прочитал ошибку. Решено тем, у кого такая же проблема не может быть привязана к столбцу АЛЬБОМ.

Я думаю, что если бы ошибка возникла где-то ближе к строительному коду Grid, а не к Application.Run, я мог ее видеть. Возможно, даже если бы он допустил ошибку при привязке сетки / текстового поля к полю идентификатора, я бы увидел, что он пытается что-то сделать с полем идентификатора, и обнаружил, что его там нет. Оу Вэй: -)

0 голосов
/ 18 июня 2010

Во-первых, я заметил из заголовка этого поста, что вы видите это исключение в приложении. Запуск, что означает, что оно, вероятно, стало намного выше в стеке вызовов.Можете ли вы перейти к «Отладка-> Исключения» в меню и установить «Разрывать исключения при выдаче».Это поможет вам точно определить, когда это происходит.Звучит так, как будто есть настройка привязки информации, и вы вспомнили одно из свойств, к которым пытается привязаться сетка.

...