【发布时间】:2019-01-22 17:50:42
【问题描述】:
我正在尝试将TextBox 的Text 属性绑定到DataSet 的DataSetName 属性。
我明白了
System.ArgumentException: '无法绑定到 DataSource 上的属性或列 DataSetName。 参数名称:dataMember'
如果有办法以这种方式绑定单个文本框?我认为这与DataSet 是一个集合这一事实有关,因此BindingSource 期望绑定一个表格,而不是文本框。
我可以在不创建“容器”类来保存我的DataSetName 属性和DataSet 的情况下实现这一目标吗?
编辑
不包含任何代码真是愚蠢。所以给你:
this.tableGroupBindingSource.DataSource = typeof(DataSet);
...
this.TableGroupNameTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.tableGroupBindingSource, "DataSetName", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
...
tableGroupBindingSource.DataSource = node.TableGroup;
-
node.TableGroup正确(不为空,指向右上角DataSet)
TextBox 实际绘制后,我得到上述异常。
我在设计器中使用 Windows 窗体,所以前两行代码是自动生成的。
【问题讨论】:
-
我们可以看示例代码吗?
-
您不能将文本绑定到一个属性,然后在您的 VM 中设置 DataSetName 的值吗?
-
这应该相对简单:参见msdn.microsoft.com/en-us/library/…。如果您在使用 BindingSource 时遇到问题,也许您可以尝试使用 DataTable?没有代码很难确切地知道你在做什么。您是在设置标记还是代码隐藏?
-
@DanielLoudon 已编辑
标签: c# .net winforms data-binding dataset