我正在使用VS2010中的C#构建一个WPF应用程序。
我有一个数据库--让我们称它为mydatabase.mdf --并且我已经将它正确地附加到我的项目中,并构建了一个DataContext。
现在,我的用户界面中有一个ListView,它显示该数据库中特定表中的项,但问题是每次向我的数据库添加新项时,我都希望这个ListView更新它的项。
我已经试过了:
listView.items.refresh()但它并没有起作用。
我尝试了一些方法,即在每次添加新项时对此数据库表应用查询,此查询将提取所有元素;然后我执行以下操作:
listview.itemssource = myquery但它也不起作用。
请帮帮我吧!
发布于 2010-11-15 17:11:18
数据库无法在添加新项目时通知客户端。
当客户将项目添加到数据库中时,ObservableCollection将解决您的问题。它实现INotifyCollectionChanged并通知UI对集合所做的更改(在客户端)。
当其他客户端也写入数据库时,您唯一的机会是定期轮询数据库(重新查询数据库)并手动将增量(更改)应用于您的ObservableCollection,或者完全重新绑定数据源(排序等可能会丢失)或刷新ItemsCollection,以防您不使用ObservableCollection或实现INotifyCollectionChanged的其他东西。
根据您的体系结构,远程服务可以轮询数据库中的所有客户端,然后通知所有客户端。如果轮询造成瓶颈,这可能会很有帮助。
https://stackoverflow.com/questions/4182770
复制相似问题