Aspose::Words::ConditionalStyle class
Contents
[
Hide
]ConditionalStyle class
Represents special formatting applied to some area of a table with assigned table style. To learn more, visit the Working with Tables documentation article.
class ConditionalStyle : public Aspose::Words::IBorderAttrSource,
public Aspose::Words::IShadingAttrSource,
public Aspose::Words::IParaAttrSource,
public Aspose::Words::IRunAttrSource
Methods
Method | Description |
---|---|
ClearFormatting() | Clears formatting of this conditional style. |
Equals(System::SharedPtr<System::Object>) override | Compares this conditional style with the specified object. |
get_Borders() | Gets the collection of default cell borders for the conditional style. |
get_BottomPadding() | Gets or sets the amount of space (in points) to add below the contents of table cells. |
get_Font() | Gets the character formatting of the conditional style. |
get_LeftPadding() | Gets or sets the amount of space (in points) to add to the left of the contents of table cells. |
get_ParagraphFormat() | Gets the paragraph formatting of the conditional style. |
get_RightPadding() | Gets or sets the amount of space (in points) to add to the right of the contents of table cells. |
get_Shading() | Gets a Shading object that refers to the shading formatting for this conditional style. |
get_TopPadding() | Gets or sets the amount of space (in points) to add above the contents of table cells. |
get_Type() | Gets table area to which this conditional style relates. |
GetHashCode() const override | Calculates hash code for this object. |
GetType() const override | |
Is(const System::TypeInfo&) const override | |
set_BottomPadding(double) | Setter for Aspose::Words::ConditionalStyle::get_BottomPadding. |
set_LeftPadding(double) | Setter for Aspose::Words::ConditionalStyle::get_LeftPadding. |
set_RightPadding(double) | Setter for Aspose::Words::ConditionalStyle::get_RightPadding. |
set_TopPadding(double) | Setter for Aspose::Words::ConditionalStyle::get_TopPadding. |
static Type() |
Examples
Shows how to work with certain area styles of a table.
auto doc = MakeObject<Document>();
auto builder = MakeObject<DocumentBuilder>(doc);
SharedPtr<Table> table = builder->StartTable();
builder->InsertCell();
builder->Write(u"Cell 1");
builder->InsertCell();
builder->Write(u"Cell 2");
builder->EndRow();
builder->InsertCell();
builder->Write(u"Cell 3");
builder->InsertCell();
builder->Write(u"Cell 4");
builder->EndTable();
// Create a custom table style.
auto tableStyle = System::ExplicitCast<TableStyle>(doc->get_Styles()->Add(StyleType::Table, u"MyTableStyle1"));
// Conditional styles are formatting changes that affect only some of the table's cells
// based on a predicate, such as the cells being in the last row.
// Below are three ways of accessing a table style's conditional styles from the "ConditionalStyles" collection.
// 1 - By style type:
tableStyle->get_ConditionalStyles()
->idx_get(ConditionalStyleType::FirstRow)
->get_Shading()
->set_BackgroundPatternColor(System::Drawing::Color::get_AliceBlue());
// 2 - By index:
tableStyle->get_ConditionalStyles()->idx_get(0)->get_Borders()->set_Color(System::Drawing::Color::get_Black());
tableStyle->get_ConditionalStyles()->idx_get(0)->get_Borders()->set_LineStyle(LineStyle::DotDash);
ASSERT_EQ(ConditionalStyleType::FirstRow, tableStyle->get_ConditionalStyles()->idx_get(0)->get_Type());
// 3 - As a property:
tableStyle->get_ConditionalStyles()->get_FirstRow()->get_ParagraphFormat()->set_Alignment(ParagraphAlignment::Center);
// Apply padding and text formatting to conditional styles.
tableStyle->get_ConditionalStyles()->get_LastRow()->set_BottomPadding(10);
tableStyle->get_ConditionalStyles()->get_LastRow()->set_LeftPadding(10);
tableStyle->get_ConditionalStyles()->get_LastRow()->set_RightPadding(10);
tableStyle->get_ConditionalStyles()->get_LastRow()->set_TopPadding(10);
tableStyle->get_ConditionalStyles()->get_LastColumn()->get_Font()->set_Bold(true);
// List all possible style conditions.
{
SharedPtr<System::Collections::Generic::IEnumerator<SharedPtr<ConditionalStyle>>> enumerator = tableStyle->get_ConditionalStyles()->GetEnumerator();
while (enumerator->MoveNext())
{
SharedPtr<ConditionalStyle> currentStyle = enumerator->get_Current();
if (currentStyle != nullptr)
{
std::cout << System::EnumGetName(currentStyle->get_Type()) << std::endl;
}
}
}
// Apply the custom style, which contains all conditional styles, to the table.
table->set_Style(tableStyle);
// Our style applies some conditional styles by default.
ASSERT_EQ(TableStyleOptions::FirstRow | TableStyleOptions::FirstColumn | TableStyleOptions::RowBands, table->get_StyleOptions());
// We will need to enable all other styles ourselves via the "StyleOptions" property.
table->set_StyleOptions(table->get_StyleOptions() | TableStyleOptions::LastRow | TableStyleOptions::LastColumn);
doc->Save(ArtifactsDir + u"Table.ConditionalStyles.docx");
See Also
- Namespace Aspose::Words
- Library Aspose.Words for C++