首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Listview ItemsSource -复杂-

Listview ItemsSource -复杂-
EN

Stack Overflow用户
提问于 2010-11-15 16:58:15
回答 1查看 405关注 0票数 0

我正在使用VS2010中的C#构建一个WPF应用程序。

我有一个数据库--让我们称它为mydatabase.mdf --并且我已经将它正确地附加到我的项目中,并构建了一个DataContext

现在,我的用户界面中有一个ListView,它显示该数据库中特定表中的项,但问题是每次向我的数据库添加新项时,我都希望这个ListView更新它的项。

我已经试过了:

代码语言:javascript
复制
listView.items.refresh()

但它并没有起作用。

我尝试了一些方法,即在每次添加新项时对此数据库表应用查询,此查询将提取所有元素;然后我执行以下操作:

代码语言:javascript
复制
listview.itemssource = myquery

但它也不起作用。

请帮帮我吧!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-15 17:11:18

数据库无法在添加新项目时通知客户端。

当客户将项目添加到数据库中时,ObservableCollection将解决您的问题。它实现INotifyCollectionChanged并通知UI对集合所做的更改(在客户端)。

当其他客户端也写入数据库时,您唯一的机会是定期轮询数据库(重新查询数据库)并手动将增量(更改)应用于您的ObservableCollection,或者完全重新绑定数据源(排序等可能会丢失)或刷新ItemsCollection,以防您不使用ObservableCollection或实现INotifyCollectionChanged的其他东西。

根据您的体系结构,远程服务可以轮询数据库中的所有客户端,然后通知所有客户端。如果轮询造成瓶颈,这可能会很有帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4182770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档