我有一个附加到绑定源的列表框。在设计器中我有一个绑定源fileConfigurationBindingSource。我有一个fileConfigurationsListBox,用displaymember" Name"和DataSource fileConfigurationBindingSource。
在初始化期间,我将FileConfigurationBindingSource设置为Linq对象表:
public FileUploadConfiguration() {
InitializeComponent();
//load from our database (FileConfigurations is a Table<FileCOnfiguration> that has "Name" property)
//This collection was automatically generated by Linq to SQL
fileConfigurationBindingSource.DataSource = ObjectStore.DataContext.FileConfigurations;
...
}
如果数据库中有对象,则此功能正常。我更改了name属性,当基础数据中的属性发生更改时,列表会更新。
但是,如果我添加新项目,则列表框不会更新。
private void newToolStripMenuItem_Click(object sender, EventArgs e) {
//create a new one
ObjectStore.CreateFileConfiguration();
}
这没有用,我在互联网上看了一下,虽然我可能需要这种方法添加:
private void newToolStripMenuItem_Click(object sender, EventArgs e) {
//create a new one
ObjectStore.CreateFileConfiguration();
fileConfigurationBindingSource.ResetBindings(false);
}
但这也没有做任何事情。我已经尝试清空listbox.datasource并重置它。我已经尝试过listbox.refresh(),update(),我能想到的一切。
当我查看数据源对象时,它看起来像这样:
我可以在bindingSource的数据源中看到两个对象,但实际的fileConfigurationBindingSource的计数为零,fileConfigurationsListBox也是如此。
有谁知道为什么这些更改不会过滤到项目或至少是绑定源?