当我看到这个帖子在这里 。
然而,在我的代码,我看不出有任何DataBind()
方法。
lstBox.DataBind();
如何重新加载listbox
在C#.NET?
Refresh()
方法也没有工作。
当我看到这个帖子在这里 。
然而,在我的代码,我看不出有任何DataBind()
方法。
lstBox.DataBind();
如何重新加载listbox
在C#.NET?
Refresh()
方法也没有工作。
您可以尝试使用的ObservableCollection作为的ItemSource,而全部自动完成。 你的任务是再填充的物品放入的ObservableCollection,有没有需要手动更新。
的DataBind()是ASP.NET控件 - 据我所知,没有等效的方法为Windows窗体控件。 什么是您的列表框的数据源? 我记得有一个类似的问题而回,我通过我的控制绑定到BindingSource的对象,而不是无论我用解决我的问题。 同样也可以受益您将列表框绑定到BindingSource的,而不是当前的数据源。 从MSDN :
BindingSource组件提供多种用途。 首先,它通过提供货币管理,变更通知和其他业务之间的Windows窗体控件和数据源简化绑定控件的窗体上的数据。
类似方法 - 换句话说,一旦你对BindingSource的变化(如呼叫BindingSource.Add,或BindingSource的的DataSource属性设置为另一个集合),您的列表框会自动而无需调用“的DataBind()”已更新。
如果你的列表框当前绑定到一个集合对象,你可以简单地绑定您收集到BindingSource,而不是,然后绑定控件到BindingSource:
BindingSource.DataSource = ListboxItems;
ListBox.DataSource = BindingSource;
另外,您可以手动构建的BindingSource的内容:
MyBindingSource.Clear();
MyBindingSource.Add(new BusinessObject("Bill", "Clinton", 1946));
MyBindingSource.Add(new BusinessObject("George", "Bush", 1946));
MyBindingSource.Add(new BusinessObject("Barack", "Obama", 1961));
lstBox.DataSource = MyBindingSource;