Hallo zusammen,
ich versuche mit Delphi XE die Fastreport componente TfrxChart zu verwenden, habe jedoch das Problem, dass mir das Chart zwar angezeigt wird, aber ohne die Werte (s. Anhang).
Die Zuweisung erfolgt so:
Delphi-Quellcode:
function TForm1.GetNewSeries(sName: string): TChartSeries;
// ********************************
// DIT-2618, GPa, 2021-10-04
begin
Result := TLineSeries.Create(nil);
Result.Pointer.Visible := True;
Result.LinePen.Visible := True;
Result.Title := sName;
Result.Marks.Arrow.Visible := True;
Result.ShowInLegend := True;
Result.XValues.DateTime := False;
Result.Visible := True;
end;
procedure TForm1.btPrintNewChartClick(Sender: TObject);
var
lFrxChart: TFrxChartView;
csSeries1: TChartSeries;
begin
tag := tag + 1;
// Assing the chart to frxChartView
lFrxChart := TFrxChartView(frxReport2.FindObject('Chart1'));
if (lFrxChart <> nil) then
begin
lFrxChart.Chart.Title.Caption := Format('Title %d', [tag]);
csSeries1 := GetNewSeries('Test1');
lFrxChart.Chart.AddSeries(csSeries1);
csSeries1.AddXY(0, 12);
csSeries1.AddXY(1, 150);
csSeries1.AddXY(2, 100);
csSeries1.AddXY(3, 180);
end;
frxReport2.ShowReport;
end;
Ich habe das Chart dann auf dem Form erzeugt und die Werte auf die gleiche Weise zugeordnet. Das funktioniert einwandfrei. Wenn ich den Chart dann aber per
Delphi-Quellcode:
procedure TForm1.btPrintAssigneChartClick(Sender: TObject);
var
lFrxChart: TFrxChartView;
begin
// Assing the chart to frxChartView
lFrxChart := TFrxChartView(frxReport2.FindObject('Chart1'));
if (lFrxChart <> nil) then
lFrxChart.Chart.Assign(chChart);
frxReport2.ShowReport;
end;
zuweise, wird er Titel korrekt angezeigt, das Chart aber wieder ohne Werte.
Ich habe mir schon die ganzen Properties des TfrxChartView angeschaut, aber nichts gefunden, dass das Anzeigen beeinflusst.
Hat da jemand ein Tip?
PS: Wenn ich die Legende anzeigen lasse, werden die Series dort angezeigt, aber eben keine Lines im Graph selber
Danke
Gerd