数据库表更新时更新WPF Listview

本文关键字:更新 Listview WPF 数据库 | 更新日期: 2023-09-27 18:28:19

我正在使用DispatcherTime()调用update函数来从其他地方更新数据的数据库更新列表视图。因此,使用列表视图就像使用仪表板一样。

    private void Update(){
        DateTime d = DateTime.Today;
        items = (from i in DataManager.Entities.signals
                                where i.Date > d
                                orderby i.Id descending
                                select i).Take(MAX_NUM_OF_DISPLAYED);
        this.lvDashboard.ItemsSource = items;          
    }

它工作良好,直到达到一定的数据量。我知道我可以查询数据库中最近更新的数据,并将其添加到项目源中。我正在努力使我的代码简单明了。你能提出一些想法或建议吗?

----------------更新---

它每1-2秒更新1000行数据,数据窗口不断移动到最近的数据。由于某种原因,进程内存不断增长。DataTable是否监视数据库更新??如果DB在其他地方更新,那么DB绑定的DataTable会更新自己吗?

数据库表更新时更新WPF Listview

这将是更多的工作,但如果只有数据的一个子集发生更改,则将项设为ObservableCollection并添加和删除项。并且不要重新绑定。

如果您绑定到DataView(指向数据库表的底层DataTable),则在DataTable上完成的Commit将自动刷新DataView,GUI将显示它。但是,当您的代码之外的其他内容更新表时,您需要在GUI上看到它的更新,为此,您可能需要考虑一些发布者-订阅者模型。