【问题标题】:fill combobox windows form application填写组合框窗口窗体应用程序
【发布时间】:2016-11-30 12:03:57
【问题描述】:

我尝试使用实体框架填写ComboBox 所以我试试这个:

public home()
{
    InitializeComponent();
    SMSEntities sms = new SMSEntities();
    Item_head.DataSource = sms.spget_head().ToString().ToList();
    Item_head.DisplayMember = "S_stockhead";
    Item_head.ValueMember = "S_stockhead_id";

}

但这在这一行显示错误:Item_head.ValueMember = "S_stockhead";

错误:

无法绑定到新的显示成员

【问题讨论】:

  • sms.spget_head().ToString().ToList()?这是什么?确保返回的对象具有 properties 而不是字段。
  • 请为您的模型发布代码 - 这会有所帮助。 S_stockhead 需要成为您的 POCO 的财产,
  • 请删除 ().ToString().ToList(); 并只留下 Item_head.DataSource = sms.spget_head(); 您翻阅了您的列表,ComboBox 找不到属性 S_stockhead,因为它与最初的类型不同。

标签: c# winforms combobox


【解决方案1】:

函数sms.spget_head() 返回什么?我可能错了,但在对象上使用ToString() 以将其名称作为字符串返回。与字符串一起使用的函数ToList 将字符串拆分为字符。那么你可能无法像你想要的那样设置显示/值成员。 我像这样绑定实体数据源:

cbxCity.DataSource = MyContainer.Cities.ToList();
cbxCity.DisplayMember = "name";
cbxCity.ValueMember = "id";

【讨论】:

  • 什么是 mycontainer?
  • MyContainer 是实体数据模型。城市是DbSet<>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-17
  • 1970-01-01
相关资源
最近更新 更多