Table of Contents

Class SubItemTable

Namespace
combit.Reporting.Dom
Assembly
combit.ListLabel32.CrossPlatform.dll

Passes the records this table renders to the charts in its footer and group footer lines.

public class SubItemTable : SubItemTableBase
Inheritance
SubItemTable
Inherited Members

Remarks

Such a chart cannot get its records in one go before it is drawn, like a chart object does: only the table knows which records it has rendered so far and where a group ends. The chart is therefore an incremental consumer (see combit.Reporting.DataCollection.DataCollectionManager): the table passes each record to it when it loads it, where it also updates the sum variables (see OnRecordLoaded(DomItem)), and the chart counts like an aggregate function, as in List & Label Classic:

  • A chart shows the records loaded since it was rendered last, and starts over once it is rendered. A footer chart therefore shows the records of its page, a group footer chart those of its group.
  • A chart that is not rendered, e.g. because of the appearance condition of its line or cell, keeps its records until it is rendered.
  • A group footer or a footer at the end of a page, rendered with the values of the previous record, leaves out the record loaded last. That record counts for the next output.
  • If the chart's formulas reference the fields of a sub table, the chart gets the records of that sub table instead.
RenderContents(ref Rectangle, TableRenderContext, bool) draws the chart between combit.Reporting.DataCollection.DataCollectionManager.BeginRender(combit.Reporting.DataCollection.IDataCollectionConsumerBase) and combit.Reporting.DataCollection.DataCollectionManager.EndRender(combit.Reporting.DataCollection.IDataCollectionConsumerBase), which leave out the record and let the chart start over.

Constructors

SubItemTable(CollectionSubItemCoreBase)

Creates and appends a table sub-item.

public SubItemTable(CollectionSubItemCoreBase itemCollection)

Parameters

itemCollection CollectionSubItemCoreBase

SubItemTable(CollectionSubItemCoreBase, int)

Creates and inserts a table sub-item at the specified index.

public SubItemTable(CollectionSubItemCoreBase itemCollection, int index)

Parameters

itemCollection CollectionSubItemCoreBase
index int

Properties

Expandable

Gets or sets whether the table is expandable (multi table mode only; null if unsupported).

public bool? Expandable { get; set; }

Property Value

bool?

LineOptions

Gets the line options.

[JsonInclude]
public PropertyLineOptions LineOptions { get; }

Property Value

PropertyLineOptions

Lines

Gets the collection of table lines (header, data, footer, groups).

[JsonInclude]
public PropertyTableLines Lines { get; }

Property Value

PropertyTableLines

Methods

OnUpdateCounters()

Triggers the UpdateCounters event, notifying subscribers that the counters have been updated.

protected virtual void OnUpdateCounters()