У меня есть TeeChart с 32 сериями и 6 настраиваемыми осями. Мне нужно распечатать эту диаграмму, и мы используем ReportBuilder повсюду в нашем программном обеспечении для печати диаграмм (там, где сначала будет предварительный просмотр на экране). Мы используем метод CloneChart для копирования диаграммы в ReportBuilder. С этим графиком у нас проблема в том, что график не полностью виден, как будто он не растягивается. Я также заметил, что пользовательские оси не видны в ReportBuilder. Моя цель - иметь точную копию TeeChart в форме, в ReportBuilder для печати.
Я попытался скопировать пользовательскую ось, добавил пользовательскую ось в ppChart ReportBuiled. Дело в том, что серии создаются во время выполнения. Хммм, мне нужно связать серию с нужными осями или что-то в этом роде. В поисках растяжения я попробовал несколько других вещей, но безуспешно.
for i := 0 to aChartSource.SeriesCount - 1 do
begin
if aChartSource[i].Active then
begin
s := CloneChartSeries(aChartSource[i]);
s.ParentChart := AChartTarget.Chart;
s.GetVertAxis.Grid.Visible := (s.GetVertAxis.Grid.Visible and aShowGrid);
s.GetHorizAxis.Grid.Visible := (s.GetHorizAxis.Grid.Visible and aShowGrid);
s.Marks.Visible := (s.Marks.Visible and aShowMarks);
s.OnGetMarkText := GetMarkText;
for ii := 0 to AChartSource[i].Count -1 do
begin
if (s.ValueColor[ii] <> AChartSource[i].ValueColor[ii]) then
begin
s.ValueColor[ii] := AChartSource[i].ValueColor[ii];
vRedraw := TRUE;
end;
end;
end;
end;
{ Duplicate the axis }
for i := 0 to aChartSource.CustomAxes.Count - 1 do
begin
ppchrtKPI.Chart.CustomAxes.Add;
LAxis.
LAxis := ppchrtKPI.Chart.CustomAxes[ppchrtKPI.Chart.CustomAxes.Count-1];
LAxis.Assign(aChartSource.CustomAxes[i]);
end;
Результат в форме PrintPreview ReportBuilder - это диаграмма с сериями, но без пользовательских вертикальных осей. И Teechart в ReportBuilder, кажется, обрезан;ряды вблизи нижней оси X не видны