附加到ListBox.DataSource的BindingSource不更新ListBox

时间:2014-07-21 13:59:21

标签: c# winforms data-binding

我有一个附加到绑定源的列表框。在设计器中我有一个绑定源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(),我能想到的一切。

当我查看数据源对象时,它看起来像这样:

http://i.imgur.com/GgMBhUz.png

我可以在bindingSource的数据源中看到两个对象,但实际的fileConfigurationBindingSource的计数为零,fileConfigurationsListBox也是如此。

有谁知道为什么这些更改不会过滤到项目或至少是绑定源?

0 个答案:

没有答案