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");

也可以看看