лучший способ дублировать teeChart в ReportBuilder для печати - PullRequest
0 голосов
/ 01 октября 2019

У меня есть 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 не видны

1 Ответ

0 голосов
/ 15 октября 2019

Как сказано здесь , проблема с пользовательскими осями звучит как билет # 780 , который был исправлен в v2018.24.180321.

...