使用 C# Entity Framework 对象如下 2
物品:
- 项目名
- itemtypeid
- 商品价格
- 项目大小
物品种类:
- 类型标识
- 类型名称
- 时价
- 排版
在项目编辑表单上,有一个名为 typeidComboBox 的组合框绑定到 item.itemtypeid 和从 itemtype 数据源加载的项目列表数据源。
当 Form Loads Binding Sources 会这样设置。
private void Form1_Load(object sender, EventArgs e)
{
db = new dbtestEntities();
itemtypeBindingSource.DataSource = db.usertypes;
itemBindingSource.DataSource = db.users;
typeidComboBox.DataBindings.Clear();
typeidComboBox.DataBindings.Add(new System.Windows.Forms.Binding("SelectedValue", this.itemBindingSource, "itemtypeid", true));
typeidComboBox.DataSource = this.itemtypeBindingSource;
typeidComboBox.DisplayMember = "typename";
typeidComboBox.ValueMember = "typeid";
typeidComboBox.SelectionChangeCommitted += typeidComboBox_SelectionChangeCommitted;
}
当我在 SelectionChangeCommitted 事件中添加如下代码时会出现问题。
代码:
private void typeidComboBox_SelectionChangeCommitted(object sender, EventArgs e)
{
(itemBindingSource.Current as item).itemprice = (itemtypeBindingSource.Current as itemtype).currentprice;
}
当 SelectionChangeCommitted 事件像 Combobox 的 BindingSource 属性在其中发生更改时,为什么 Combobox 选择取消并返回到旧值?
对不起我的英语。