当表格获得新记录时,如何自动更新图表?

时间:2011-11-17 13:41:19

标签: delphi charts data-aware

假设我有一个带有颜色字段的表 - 红色/白色/蓝色 - 每次我的应用程序通过TCP / IP接收事件并在数据库中插入新行时,我想要一个数据感知饼图组件自动更新显示这些颜色的比例。我怎么能这样做?

我见过数据感知组件的例子,但它们只是显示了表格中每一行的价值(我还没有走得太远)。实际上,我甚至不确定在数据库中添加另一行会向DB-aware网格添加另一行(push,而不是pull)。

1 个答案:

答案 0 :(得分:3)

  

我甚至不确定在数据库中添加另一行会向DB感知网格添加另一行(推送,而不是拉动)。

如果数据集为live,则向数据集添加行将更新网格。

  

看,让我们想象一下,我的主键是一个表 - 红色/白色/蓝色 - 每当我的应用程序通过TCP / IP接收事件并在数据库中插入新行时,我想要一个数据 - 意识到饼图组件自动更新显示这些颜色的比例。

  1. 在表单中添加Connection,将其设置为连接到您的数据库。
  2. connection active属性设置为true
  3. 向表单添加查询,将连接设置为connection1
  4. sql属性设置为SELECT (count(*) / b.totalcount) as percentage, b.totalcount FROM table1 a CROSS JOIN (select count(*) as totalcount from table1) b GROUP BY a.color
  5. active属性设置为true
  6. 在表单上放置datasource,将其dataset设置为query1
  7. 在表单上删除DBChart,将其datasource设置为datasource1
  8. 摆弄DBChart,让它显示一个饼图。