您好
我在使用实体框架+绑定源+组合框时遇到了问题
我正在将一个实体绑定到绑定源,这是组合框控件的数据源,当我向上下文添加新项时会出现问题,如下所示:
myEntity ent =new myEntity() { entName="aaaa" };
ctx.AddObject('myEntitySetName',myEntity);
ctx.SaveChanges();
组合框没有显示新条目...如何刷新此控件的数据源?
我试过这个:
myComboBox.DataSource = myBindingSource.DataSource;
它适用于第一个添加操作并显示新条目但是当我添加第二个和第三个...等没有任何事情发生..数据正确保存到数据库但它从未在组合框中列出.. 。
任何帮助?
答案 0 :(得分:1)
您需要使用BindingList
作为BindingSource
的数据源。
然后只需使用BindingList
上的方法添加,删除,插入等
答案 1 :(得分:0)
谢谢@leppie,这很棒。 我不知道这是否正确,但我使用了BindonList类:
BindingList<myEntity> bl = bl = new BindingList<myEntity>(ctx.myEntitySet.ToList<myEntity>());
myBindingSource.DataSource = bl;
保存按钮代码如下所示:
myEntity ent = new myEntity() { name = textBox1.Text };
ctx.AddObject("myEntitySet", ent);
bl.Add(ent);
ctx.SaveChanges();
如果这是对的,如果它不够好就会超级好但我需要知道这是否是正确的方法