我有一个带有DataGridView和的表格combobox。Combobox通过属性菜单中的 DataSource 填充,我也通过此菜单指定 DisplayMember 和 ValueMember。我有一个按钮,当我点击它时会显示另一个表单,我可以向组合框的数据源添加一个新项目。当我关闭这个新表单时,我希望我的 comobox 的数据源刷新,我可以看到我刚刚添加到组合框中的新项目,但我不知道如何。
我试过了:
myComboBox.Refresh();
但什么也没发生
我也试过这个:
myComboBox.Items.Add(myclass.myNewItem);
但它抛出一个异常:
设置数据源属性后,无法修改项目集合。
有谁可以帮我吗?
编辑: 我发现当我以第二种形式添加一个新项目时,一切都很好,新项目也被添加到数据库中,但是当我回到第一种形式时,听起来好像什么也没发生。所以我将 listBox 添加到第二个表单中,但在返回第一个表单后我没有看到任何添加。我真的不知道为什么组合框和列表框使用旧数据源,即使我的数据库发生了变化。然后我尝试了这个并且它起作用了:
在第二种形式中,我将我的新项目保存在一个类中(命名为转移),当我返回第一种形式时,我这样做了:
DsMy.tblRow row = dsMy.tbl.NewtblRow();
row.BeginEdit();
row.Name = transfer.newName;
row.Id = transfer.newId;
row.EndEdit();
dsMy.tbl.AddtblRow(row);
this.Validate();
tblTableAdapter.Update(dsMy.tbl);
myComboBox.Refresh();
感谢大家的帮助!:)
饮歌长啸
30秒到达战场
犯罪嫌疑人X
相关分类