Table of Contents

Class TablixEditor

Namespace
ReportWright.Design.Tablix
Assembly
ReportWright.Design.dll

The Tablix editing operations, each one undo entry on the document, each keeping the structural invariants Validate() checks: a leaf per body row and column, every body position covered once, spans inside one static run. Rows and columns are symmetric; the code says "lane" for either.

public sealed class TablixEditor
Inheritance
TablixEditor
Inherited Members

Constructors

TablixEditor(DesignerDocument, RdlElement)

Initializes an editor over a Tablix in a document.

Fields

FilterOperators

The RDL filter operators.

KeepWithGroupValues

The KeepWithGroup values.

PageBreakLocations

The RDL page break locations.

Properties

MemberFlags

The member flags SetMemberFlag(TablixMemberView, string, bool?) accepts.

Model

Gets a fresh read view.

Tablix

Gets the Tablix.

Methods

AddGroup(TablixMemberView, string, string, TablixGroupPlacement, bool)

Adds a group to a hierarchy (A row group wraps rows; a column group wraps columns).

AddTotal(TablixMemberView)

Adds a static footer (total) row or column after a group's last leaf, inside the group, with Sum of each numeric-looking detail expression.

BindField(int, int, string)

Binds a body cell's textbox to a field and, when the cell above it in a static header row is empty, labels that header with the field name.

CanMove(TablixMemberView, bool)

Whether a member can swap places with its previous (up) or next (down) sibling: it needs a sibling, and no merged cell may straddle the two.

DeleteColumn(int)

Deletes a body column and its leaf member; a group left with no columns goes with it.

DeleteGroup(TablixMemberView, bool)

Deletes a group: its rows or columns go with it, or stay as static members of the parent.

DeleteRow(int)

Deletes a body row and its leaf member; a group left with no rows goes with it.

FiltersOf(TablixMemberView)

The filters of a group.

InsertColumn(int, TablixInsertSide)

Inserts a body column beside another, with an empty textbox in every row, as a leaf of the same parent member.

InsertRow(int, TablixInsertSide)

Inserts a body row beside another, with an empty textbox in every column, as a leaf of the same parent member (inside the same group).

MergeCells(int, int, int, int)

Merges a rectangle of body cells into its top-left cell; the others' contents are removed (A.4 asks for confirmation in the UI).

MoveMember(TablixMemberView, bool)

Swaps a member with its previous or next sibling, moving its rows or columns with it.

RenameGroup(TablixMemberView, string)

Renames a group, keeping the name unique among scopes, and rewrites the scope literal "OldName" in every expression inside this Tablix (Sum(x, "OldName")) so aggregates keep pointing at the group.

SetColumnWidth(int, int)

Sets a body column's width.

SetDocumentMapLabel(TablixMemberView, string?)

Sets a group's document map label, or removes it.

SetFilters(TablixMemberView, IReadOnlyList<TablixFilter>)

Replaces a group's filters.

SetGroupExpressions(TablixMemberView, IReadOnlyList<string>)

Replaces a group's expressions; an empty list makes it a details group.

SetHeaderSize(bool, int, int)

Sets the size of a header level: the width of a row-header column or the height of a column-header row, on every member at that level.

SetKeepWithGroup(TablixMemberView, string?)

Sets KeepWithGroup on a static row member; refused on column members, which the engine does not allow.

SetMemberFlag(TablixMemberView, string, bool?)

Sets a boolean member flag (MemberFlags); null removes it.

SetPageBreak(TablixMemberView, string?)

Sets a group's page break location, or removes the page break.

SetRowHeight(int, int)

Sets a body row's height.

SetSorts(TablixMemberView, IReadOnlyList<TablixSort>)

Replaces a member's sort expressions.

SetVisibility(TablixMemberView, string?, string?)

Sets a member's visibility: hidden (literal or expression) and the textbox that toggles it.

SortsOf(TablixMemberView)

The sort expressions of a member.

SplitCell(int, int)

Splits a merged cell back into single cells with empty textboxes.