【问题标题】:Bind a DB table with WPF Datagrid使用 WPF Datagrid 绑定数据库表
【发布时间】:2023-02-07 23:59:50
【问题描述】:
我需要在数据网格上显示来自我的数据库(postgresql)的表的内容。
我正在使用 WPF,但我正在考虑迁移到 Avalonia。
我可以轻松地在 vb.net 或 c# 中连接数据库并填充数据网格。
Iusse 是另一个应用程序可以写入此数据库,因此数据可以更改,我需要显示实际值。
那么有什么方法可以以通知数据库更改的方式将表与数据网格“绑定”?或者我应该简单地放置一个计时器并每秒查询一次?
【问题讨论】:
标签:
wpf
postgresql
vb.net
data-binding
datagrid
【解决方案1】:
您最简单的选择是每分钟或其他任何时间进行轮询。
Postgresql 有 listen 和 notify 但我不推荐这些。
https://www.postgresql.org/docs/9.0/sql-notify.html
我看到的其他(更多)实用方法非常复杂。
EG 对数据库的所有更新都通过网络层进行。
然后,这些更改还存储每次更改的时间和更改数据。表、id、更改类型和时间。
客户订阅一个流程,使用上面的内容来编写准备好让他们接收的更改。
然后客户端可以只提取那些应用于客户端缓存的更改。
或者,有一个推送服务将更改发送到客户端。
经常使用网络套接字。
完全完善的实施似乎可能过于矫枉过正,但可以支持大量客户。用于在线投注的 EG(客户端在浏览器中)每个玩家都需要看到不断变化的赔率和新事件的出现。