Fastreport的Chart问题(100分)

  • 主题发起人 主题发起人 Langrenxilin
  • 开始时间 开始时间
L

Langrenxilin

Unregistered / Unconfirmed
GUEST, unregistred user!
我需要在Fastreport中显示一个曲线图,包含2个TLineSeries,数据从一个Dataset中取得。我在设计时把TfrChartView放在一个主项数据里,在创建时加入如下代码:
//首先将Series加入frReport:
Series1 := TLineSeries.Create(nil);
Series2 := TLineSeries.Create(nil);
TFrChartView(frReport.FindObject('Chart1')).Chart.AddSeries(Series1);
TFrChartView(frReport.FindObject('Chart1')).Chart.AddSeries(Series2);
//绑定数据:
with DataSetdo
begin
First;
while not eofdo
begin
Series1.Add(Fields[0].Value, Fields[1].Value, clRed);
Series1.Add(Fields[0].Value, Fields[2].Value, clBlue);
//其中Fields[0],Fields[1],Fields[2]分别为三个字段,X轴显示Fields[0],Y轴显示Fields[1]和Fields[2]
Next;

end;

end;
... //其他代码
上面的代码基本上可以完成我需要的功能,可是有一个问题,我必须在主项数据中设置Band数据源连接到一个TfrDBDataSet,否则数据不显示。但数据显示以后,表中有多少条记录在预览时就显示多少个相同的Chart,每个Chart包含两个Series,这是什么原因?而且我感觉我的绑定数据有问题,不应该一条一条记录添加,请高手指点。
 
看看faq,供你参考。
2.26. How to make the TChart with several series?
You can'tdo
this in designer. You need to write some code in Delphi.
Create TChart or TDBChart, fill it out;
put the empty TfrChartView to the report;
write the following code in the TfrReport.OnBeforePrint event handler:
if View.Name = 'Chart1' then
TfrChartView(View).AssignChart(your_Delphi_chart)
 
谢谢,Chart显示问题已经解决,就是在预览时会出现多个相同的Chart,这是什么原因?
 
后退
顶部