错误消息:无法绑定到数据源上的属性或列。参数名称datamember c#

时间:2015-10-16 18:36:23

标签: c# winforms data-binding label bindingsource

我有一个C#Windows窗体应用程序,我使用VS 2013进行编辑。数据已从SQL数据库中检索并存储在DataSet(Properties)中名为ds的DataTable中。使用以下方法填充Label的文本字段时没有错误:

label1.DataBindings.Add(new Binding("Text", ds.Tables["Properties"], "myColumn", true));

但是,如果我使用BindingSource作为DataSource而不是DataSet DataTable,我会收到错误消息:

Designer文件中的自动生成代码(BindingSource从Toolbox添加到表单中):

private System.Windows.Forms.BindingSource bsProperties;
this.bsProperties = new System.Windows.Forms.BindingSource(this.components);

在代码文件中:

bsProperties.DataSource = ds.Tables["Properties"];
label1.DataBindings.Add(new Binding("Text", bsProperties, "myColumn", true));

当我尝试访问DataSet中的相同DataTable时,为什么会出现此错误消息?如果我使用BindingSource作为DataSource而不是DataSet DataTable作为DataSource,对DataBindings.Add()的调用是否不同?

我的最终目标是使用BindingSource填充ComboBox,然后Label填充与ComboBox中所选项目相关的数据(存储在DataSet中与ComboBox中的数据相同的行)。为此,我想我需要使用DataRowView,但这是另一天的问题。

0 个答案:

没有答案