TRVCrossTab.ColumnGenerationType

<< Click to display table of contents >>

TRVCrossTab.ColumnGenerationType

Specifies how cross-tabs columns are generated.

type
  TRVColGenerationType = (rvcgtAutoSeparate, rvcgtAutoGroup,

    rvcgtDataQuerySeparate, rvcgtDataQueryCascade,

    rvcgtRange);
 
property ColumnGenerationType: TRVColGenerationType;

This property affects all levels of cross-tab.

rvcgtAutoSeparate and rvcgtAutoGroup, columns are generated basing on data of the report itself.

rvcgtDataQuerySeparate and rvcgtDataQueryCascade: columns are generated by applying special data queries for each level of cross-tab.

rvcgtRange: columns are generated by enumerating values in the specified range

Comparison table

 

rvcgtAutoSeparate

rvcgtAutoGroup

rvcgtDataQuerySeparate

rvcgtDataQueryCascade

rvcgtRange

Columns are generated basing on...

report data

(results of Table.RowGenerationRules[0].DataQuery)

special data query

(results on Levels[].DataQuery)

range of values

Each group of columns are generated from an unique set of values, depending on the value of the parent cross-tab column

(if not, all groups of columns on each level are generated from the same sets of values)

Yes

Yes

Can use special data field for captions

Yes

Can use integer, boolean, floating point, date-time data fields for values

Yes

Can use text data fields for values

Yes

Sort order

defined in Levels[].SortType

as returned by a data query

ascending or descending, depending on Levels[].Step

rvcgtAutoSeparate and rvcgtAutoGroup

For rvcgtAutoSeparate and rvcgtAutoGroup, columns are generated basing on data of the report itself.

ColumnGenerationType

Comments

rvcgtAutoSeparate

Columns are generated basing on data field values returned by the application of Table.RowGenerationRules[0].DataQuery.

Values for each cross-tab level are collected independently.

rvcgtAutoGroup

The same, but data for cross-tab levels are collected together. This option generates the minimal necessary set of columns.

hmtoggle_arrow1Example

For each cross-tab level (i.e., for each item in Levels):

values for column generation are taken from FieldName field;

additionally, captions may be taken from CaptionFieldNameField;

columns are sorted according to SortType.

rvcgtDataQuerySeparate and rvcgtDataQueryCascade

For rvcgtDataQuerySeparate and rvcgtDataQueryCascade, columns are generated from data queries specified in cross-tab levels, i.e in Levels[].DataQuery.

ColumnGenerationType

Comments

rvcgtDataQuerySeparate

All Table.Levels[].DataQuery are independent from each other.

Each such a data query is executed only once.

If each level of cross-tab repeats the same group of data, use this generation type, because it is more efficient.

rvcgtDataQueryCascade

Levels[N].DataQuery may refer to data queries of higher levels, i.e. the results of execution of Levels[M].DataQuery-s, where N is from 1 to Count-1, M can be from 0 to N-1.

I.e. the N-th data query may use the results of 0..N-1 data queries.

See Levels[].DataQuery for an example.

For each cross-tab level (i.e., for each item in Levels):

values for column generation are taken either from DataQueryFieldName or from FieldName field;

additionally, captions may be taken from CaptionFieldNameField;

rvcgtRange

For rvcgtRange, columns are generated from enumerations of values in the specified range.

For each cross-tab level (i.e., for each item in Levels), this enumeration is defined by MinValue, MaxValue, and Step properties.

Default value

rvcgtAutoGroup