Delphi: связать диаграмму с помощью DBGrid - PullRequest
0 голосов
/ 14 марта 2019

Я хочу связать диаграмму с DBGrid. Обратитесь к экспонату. Когда я щелкаю в DBGrid по номеру 3 (ось X), то полоса в позиции три должна быть выделена (или указатель на полосу 3). Когда я нажимаю на номер 4 в сетке, высвечивается строка 4 и т. Д. Я использую TDBChart

Есть ли способ сделать это?

sample graph image

1 Ответ

0 голосов
/ 14 марта 2019

Не зная, что такое компонент построения диаграмм, не могу предоставить рабочий пример, но ключ, который вы ищете, - это использовать событие 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;
...