出于某些原因,在使用AddGanttColor或AddGantt方法向TGanttSeries实例添加甘特图时,会为两个不同的调用返回相同的索引。
例如,以下代码段说明了最后两个调用都返回值为1的索引的情况。
Series.AddGanttColor(0, 100, 0, 'WA #234', clGreen); // returns value 0
Series.AddGanttColor(100, 200, 1, 'WA #235', clGreen); // returns value 1
Series.AddGanttColor(50, 200, 2, 'WA #237', clGreen); // returns value 1!
然而,显示所有三个甘特图。因此,似乎第三行添加甘特作为列表中的第二行,并将第二行添加的甘特图移动到最后一行(第三行,并且具有索引2)。
有人可以解释一下如何解决这个问题,以确保返回的索引与AddGanttColor调用保持关联。在上面的例子中,我希望索引值0,1和2分别与第一,第二和第三个添加的甘特图相关联。
刚刚确认这种情况适用于在Delphi 5下运行的TeeChart版本5和8。
答案 0 :(得分:1)
嗯......经过一些研究后,问题的原因缩小到了财产Series.XValues.Order
的价值。此属性应设置为loNone
,以保持从AddGantt返回的索引值与相应的甘特图之间的关联。
IMO这是一个API缺陷。