Формат наследования

DOM API позволяет использовать стили на основе шаблонов и форматировать стили на основе объектов (или эквивалентные свойства формата), чтобы задать внешний вид объекта. Если вы задаете StyleName и Style свойство объекта, форматы в Style свойство переопределяет соответствующие форматы, заданные основанным на шаблоне стилем StyleName свойство. Рассмотрим, например, этот код.

import mlreportgen.dom.*;
d = Document('MyDoc','docx','MyTemplate');
p = Paragraph('Danger!');
p.StyleName = 'Warning';
p.Style = {Color('red')};
append(d,p);
close(d);

Предположим, что Warning стиль определяет цвет предупреждения как желтый. В этом случае установка Style свойство в абзаце переопределяет цвет, заданный StyleName настройка.

Если объект документа не задает значение для StyleName, он наследует все форматы, которые он не задает из своего контейнера. Контейнер наследует все форматы, которые он не задает, из своего контейнера и так далее, вплоть до верхней части иерархии контейнеров. Наследование формата позволяет использовать один оператора для назначения формата для всех объектов, содержащихся в контейнере. Например, этот код использует одну Style свойство для назначения цвета всем записям в таблице.

import mlreportgen.dom.*;
d = Document('MyDoc');
tableArray = {'a','b';'c','d'};
table = append(d,tableArray);
table.Style = {Color('blue')};
close(d);
rptview(d.OutputPath);

Похожие темы