【问题标题】:combobox not getting bound组合框未绑定
【发布时间】:2013-10-21 10:29:21
【问题描述】:

我正在尝试通过数据集列绑定组合框。

我有以下数据集:

我想通过 LocationName 列绑定组合框。

我正在使用以下代码:

cmbLocation.DataBindings.Add(New Binding("Text", dsLocations, "LocationName"))

但它给我带来了以下错误:

无法绑定到数据源上的属性或列 LocationName。 参数名称:dataMember

请帮帮我。

【问题讨论】:

  • 你确定你使用了正确的参数名称吗?

标签: c# .net winforms combobox


【解决方案1】:

试试这个将ComboBox绑定到数据源:

cmbLocation.DisplayMember = "LocationName";
cmbLocation.ValueMember = "LocationName";
cmbLocation.DataSource = dsLocations;

它更容易,IMO 更易读。

【讨论】:

  • 如果默认情况下我想获得选择的第一个组合值怎么办?
  • 要获得价值,你必须做:var row = cmbLocation.SelectedItem as DataRow;
【解决方案2】:

您可以尝试以下方法:

cmbLocation.DataBindings.Add("EditValue", dsLocations, "LocationName", true, DataSourceUpdateMode.OnPropertyChanged);

如果这不起作用,请将“EditValue”替换为“SelectedText”

【讨论】:

  • 无法绑定到数据源上的属性或列 LocationName。参数名称:dataMember
  • 您确定正确分配了数据源“dsLocations”?
  • 您得到的错误似乎并非如此。我们能否在您为绑定源“dsLocations”赋予其值的位置查看您的代码?
猜你喜欢
  • 2023-03-08
  • 2011-01-06
  • 1970-01-01
  • 2016-09-09
  • 1970-01-01
  • 1970-01-01
  • 2019-12-27
  • 2016-12-10
相关资源
最近更新 更多