ConditionalStyleType

ConditionalStyleType enumeration

Представляет возможные области таблицы, для которых в стиле таблицы может быть определено условное форматирование.

public enum ConditionalStyleType

Ценности

ИмяЦенностьОписание
FirstRow0Определяет форматирование первой строки таблицы.
FirstColumn1Определяет форматирование первого столбца таблицы.
LastRow2Определяет форматирование последней строки таблицы.
LastColumn3Определяет форматирование последнего столбца таблицы.
OddRowBanding4Определяет форматирование полосы строк с нечетным номером.
OddColumnBanding5Определяет форматирование полосы столбцов с нечетными номерами.
EvenRowBanding6Определяет форматирование четной полосы строк.
EvenColumnBanding7Определяет форматирование четной полосы столбцов.
TopLeftCell8Определяет форматирование верхней левой ячейки таблицы.
TopRightCell9Определяет форматирование верхней правой ячейки таблицы.
BottomLeftCell10Определяет форматирование нижней левой ячейки таблицы.
BottomRightCell11Определяет форматирование нижней правой ячейки таблицы.

Примеры

Показывает, как работать с определенными стилями областей таблицы.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Table table = builder.StartTable();
builder.InsertCell();
builder.Write("Cell 1");
builder.InsertCell();
builder.Write("Cell 2");
builder.EndRow();
builder.InsertCell();
builder.Write("Cell 3");
builder.InsertCell();
builder.Write("Cell 4");
builder.EndTable();

// Создаем собственный стиль таблицы.
TableStyle tableStyle = (TableStyle)doc.Styles.Add(StyleType.Table, "MyTableStyle1");

// Условные стили — это изменения форматирования, которые затрагивают только некоторые ячейки таблицы
// на основе предиката, например, ячеек в последней строке.
// Ниже приведены три способа доступа к условным стилям табличного стиля из коллекции «ConditionalStyles».
// 1 - По типу стиля:
tableStyle.ConditionalStyles[ConditionalStyleType.FirstRow].Shading.BackgroundPatternColor = Color.AliceBlue;

// 2 - По индексу:
tableStyle.ConditionalStyles[0].Borders.Color = Color.Black;
tableStyle.ConditionalStyles[0].Borders.LineStyle = LineStyle.DotDash;
Assert.AreEqual(ConditionalStyleType.FirstRow, tableStyle.ConditionalStyles[0].Type);

// 3 - Как свойство:
tableStyle.ConditionalStyles.FirstRow.ParagraphFormat.Alignment = ParagraphAlignment.Center;

// Применяем отступы и форматирование текста к условным стилям.
tableStyle.ConditionalStyles.LastRow.BottomPadding = 10;
tableStyle.ConditionalStyles.LastRow.LeftPadding = 10;
tableStyle.ConditionalStyles.LastRow.RightPadding = 10;
tableStyle.ConditionalStyles.LastRow.TopPadding = 10;
tableStyle.ConditionalStyles.LastColumn.Font.Bold = true;

// Перечислить все возможные условия стиля.
using (IEnumerator<ConditionalStyle> enumerator = tableStyle.ConditionalStyles.GetEnumerator())
{
    while (enumerator.MoveNext())
    {
        ConditionalStyle currentStyle = enumerator.Current;
        if (currentStyle != null) Console.WriteLine(currentStyle.Type);
    }
}

// Применяем к таблице пользовательский стиль, содержащий все условные стили.
table.Style = tableStyle;

// Наш стиль по умолчанию применяет некоторые условные стили.
Assert.AreEqual(TableStyleOptions.FirstRow | TableStyleOptions.FirstColumn | TableStyleOptions.RowBands, 
    table.StyleOptions);

// Нам нужно будет самостоятельно включить все остальные стили через свойство StyleOptions.
table.StyleOptions = table.StyleOptions | TableStyleOptions.LastRow | TableStyleOptions.LastColumn;

doc.Save(ArtifactsDir + "Table.ConditionalStyles.docx");

Смотрите также