0

嗨,我浏览了很多网站,似乎无法找到答案。

我修改了一个视图,该视图连接到通过 C# Winforms 应用程序上的 tableadapter 连接的 Datagridview,为了“重新连接”,我必须删除 tableadapter 并重新连接它。这是为了消除有关唯一约束的错误。所以我修复了这个问题,现在应用程序启动了,但是当我单击该网格所在的选项卡时,我得到:

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).........

我似乎找不到这个问题的答案。有人能帮我吗?

谢谢

4

3 回答 3

0

虽然我不喜欢我的解决方案,但我已经解决了这个问题。我再次删除了 TableAdapter,这次重命名了它。然后我重命名了原始名称的所有实例(所有 192 个实例,即使我已经删除了适配器并重新创建了它们仍然存在 192 个!然后我不得不修复查询,因为我已经重命名了所有实例并且我使用了视图名称作为 TableAdapter 名称,因为它是默认名称。希望这对某人有所帮助。

于 2010-06-18T18:13:12.977 回答
0

首先,我从这篇文章的标题中注意到,您在 application.Run 中看到了这个异常,这意味着它可能在调用堆栈中被抛出了更高的位置。您可以转到菜单上的 Debug->Exceptions 并在抛出异常时设置为 Break。这将帮助您准确隔离何时发生这种情况。听起来好像有绑定信息设置,并且您删除了网格试图绑定的属性之一。

于 2010-06-17T20:56:42.090 回答
0

如果您在网格或视图中更改架构并引用不再存在的字段,您将获得:

System.ArgumentException:无法绑定到 DataSource.Parameter 名称上的属性或列 Id:dataMember

您缺少的列名列在单词 column 之后。我错过了“ID”列。我以为我无法绑定到属性或列 ID,例如。我读了错误。从其他人解决了无法绑定到 ALBUM 列的相同问题。

我认为如果错误来自更接近网格构建代码而不是 Application.Run 我可能已经看到它。也许即使它在将网格/文本框绑定到 ID 字段时出错,我也会看到它试图对 ID 字段做某事并发现它不存在。Oy Vay :-)

于 2010-06-22T13:48:28.237 回答