IChartPointNameNode.Required

Синтаксис

Required: Boolean;

Описание

Свойство Required определяет, обязательно ли уровень должен отображаться на шкале. True - уровень должен присутствовать, False - уровень необязательный.

Комментарии

Данное свойство определяет режим построения шкалы: автоматический или пользовательский.

Шкала для оси категорий будет построена автоматически, если свойство Required установлено в False для всех уровней. Рассмотрим автоматический режим на примере оси, отображающей данные для дневной, месячной и квартальной динамик. Изначально определяется возможность вывести подписи шкалы без пересечений для минимальной динамики, в данном случае дневной. Если это возможно, то для построения шкалы будет использована данная динамика. Если построение шкалы без пересечений невозможно, то будет определена возможность вывода подписей шкалы без пересечений для следующего уровня, в данном случае, для квартальной динамики. Шкала будет отстроена по данному уровню, если пересечения отсутствуют. При наличии пересечений производится анализ последующего уровня и так до тех пор, пока не будет достигнута максимальная динамика, в данном случае годовая. Если пересечения присутствуют и при построении шкалы по максимальной динамике, то часть подписей будет сжата или пропущена.

Шкала для оси категорий будет построена в пользовательском режиме, если свойство Required установлено в True хотя бы для одного уровня. В пользовательском режиме при построении шкалы будут обязательно использованы уровни, которые задал пользователь. Если построение шкалы без пересечений подписей невозможно, то часть подписей будет сжата или пропущена.

Ниже приведен пример одной и той же шкалы, отображающей иерархические значения, в разных режимах построения. Слева представлена шкала, содержащая данные только годовой динамики. Шкала построена в автоматическом режиме. Справа шкала построена в пользовательском режиме: она отображает годовую и квартальную динамики.

Пример

В рассматриваемом примере предполагается существование объекта UiChart1 типа UiChart. Описание класса CChartPointNameNode приведено в интерфейсе IChartPointNameNode.

Sub UiChart1OnGetPointNameRoot(Sender: Object; Args: IUiChartPointNameRootEventArgs);

Var

Root, MonthLevel, DayLevel: CChartPointNameNode;

Begin

Root := New CChartPointNameNode.Create(Null);

Root.Format := "dd MMMM yyyy";

Root.Name := "Годы";

Root.Required := True;

MonthLevel := New CChartPointNameNode.Create(Root);

MonthLevel.Format := Root.Format;

MonthLevel.Name := "Месяцы";

MonthLevel.Required := True;

DayLevel := New CChartPointNameNode.Create(MonthLevel);

DayLevel.Format := Root.Format;

DayLevel.Name := "Дни";

DayLevel.Required := True;

Args.Result := Root As IChartPointNameNode;

End Sub UiChart1OnGetPointNameRoot;

После выполнения примера будет определен корневой элемент для иерархии наименований оси категорий. Шкала оси будет построена в пользовательском режиме.

См. также:

IChartPointNameNode