在运行时创建的系列未显示在 TeeChart 中?

Series not showing in TeeChart when created at runtime?

我有一个数据集,其中 returns 数据如下

日期、地区、销售额

01/01/2017,食堂,1000
01/01/2017, 健身房, 3000
01/01/2017,沙龙,2000
02/01/2017,食堂,5000
2017 年 2 月 1 日,健身房,6000
02/01/2017,沙龙,7000

我正在尝试使用此数据创建堆积条形图

系列数会有所不同

我有以下创建系列的逻辑,但我不确定如何添加每个值,例如我需要 X 轴按日期显示并且有 2 个柱。然后,根据上述数据,每个柱状图都堆叠有 3 个系列。

while not tblSalesBreakdownByDate.Eof do
begin
  nIndex := objList.IndexOf(tblSalesBreakdownByDateCategory.AsString);
  if nIndex = -1  then
  begin
    objSeries := TBarSeries.Create(Self);
    objSeries.MultiBar := TMultiBar.mbStacked;
    objSeries.Title := tblSalesBreakdownByDateCategory.AsString;

    chrtBreakdownByDate.SeriesList.Add(objSeries);
    objList.AddObject(objSeries.Title, objSeries)
  end
  else
    objSeries := objList.Objects[nIndex];

  objSeries.Add(tblSalesBreakdownByDateTotalSales.AsFloat, tblSalesBreakdownByDateTransactionDate.AsString);

  tblSalesBreakdownByDate.Next;
end;

当我 运行 这个时,虽然它没有崩溃,但我没有看到我添加的任何系列?

谁能看出哪里出了问题?

有简单的方法吗?

理想情况下,我更愿意使用数据库图表,但鉴于数据不是静态的,我不确定该怎么做?

干杯

保罗

而不是:

chrtBreakdownByDate.SeriesList.Add(objSeries);

调用AddSeries方法:

chrtBreakdownByDate.AddSeries(objSeries);

或不调用任何添加方法将 ParentChart 设置为系列:

objSeries.ParentChart := chrtBreakdownByDate;

SeriesList collection doesn't listen to collection changes, hence the series was not added to the chart. Examples of how to add series at runtime you can find on the TChart 参考页。