我想用DBGrid绑定图表。请参见图示。当我在数字3(X轴)上单击DBGrid时,应突出显示位置3的条形(或指向条形3的指针)。当我点击Grid中的数字4时,条形图4会突出显示等。我正在使用TDBChart
有没有办法做到这一点?
不知道图表组件是什么,不能提供一个工作示例,但您要查找的关键是对网格中的数据集使用AfterScroll事件。由于每行代表不同的记录,因此当网格选择移动到该行时会触发该事件。
编辑:这不会突出显示框,但会更改每个条形图顶部的值标记的颜色。希望这能让你顺利上路。 MyQuery正在为数据源提供支持
var
savecolor : tcolor;
procedure MyForm.FormShow(Sender:TObject);
begin
...
SaveColor := dbchart1.series[0].marks.items[0].color;
...
end;
procedure MyForm.MyQueryBeforeScroll(DataSet : TDataSet);
begin
dbchart1.series[0].marks.items[MyQuery.recno-1].color := SaveColor;
end;
procedure MyForm.MyQueryAfterScroll(DataSet:TDataSet);
begin
dbchart1.series[0].marks.items[MyQuery.recno-1].color := clRed;
end;