Работа с Chart
Подскажите пожалуйста как программно (из Delphi кода) наполнить Chart данными. Я делаю так. В отчете дабавил объект TfrxChartView с именем Chart1, а код выглядит следующим образом:
s:= TChartSeries.Create(Self);
s.Add(1,'First serie');
myChartView:=TfrxChartView(frxReport1.FindObject('Chart1'));
myChartView.Chart.AddSeries(s);
myChartView.Chart.Title.Text.Add('My chart');
myChartView.Chart.SeriesList[0].Add(12,'01.01.2004');
myChartView.Chart.SeriesList[0].Add(14,'02.01.2004');
frxReport1.ShowReport;
Данные не отобржаются. В чем дело?
s:= TChartSeries.Create(Self);
s.Add(1,'First serie');
myChartView:=TfrxChartView(frxReport1.FindObject('Chart1'));
myChartView.Chart.AddSeries(s);
myChartView.Chart.Title.Text.Add('My chart');
myChartView.Chart.SeriesList[0].Add(12,'01.01.2004');
myChartView.Chart.SeriesList[0].Add(14,'02.01.2004');
frxReport1.ShowReport;
Данные не отобржаются. В чем дело?
Комментарии
with ChartView1.SeriesData.Add do
begin
DataType := dtFixedData;
YSource := '12;14';
XSource := '01.01.2004;02.01.2004';
end;
А лучше всю диаграмму формировать вручную и передавать в отчет в виде картинки. Это лучше всего сделать с помощью объекта TfrxPictureView. Поместите пустой объект в отчет и в TfrxReport.OnBeforePrint напишите:
procedure TForm1.frxReport1BeforePrint(Sender: TfrxReportComponent);
begin
if Sender.Name = 'Picture1' then
TfrxPictureView(Sender).Picture.Assign(
Chart1.TeeCreateMetafile(False,
Rect(0, 0, Round(Sender.Width), Round(Sender.Height))));
end;