Operating system requirements: iOS 5.0 or later.
Mobile device: iPad.
This example displays working with table headers. After starting the example the following operations are executed:
Left table header is returned.
Number of table rows is determined.
Left and top headers of pivot object for building data tables are returned.
State of pivot object for building data tables is determined.
New objects of left and top table headers are created.
Dimensions of left and top table headers are determined.
Number of element in left and top table headers is determined.
Executing the example requires to place the following code instead of the executeExample method of the ViewController class (see the Data Analysis section):
-(void)executeExample {
// Get left table header
SPPLPivotTableHeader leftPivotTableHeader = m_gridPivotTable->leftHeader();
// Get table, to whcih header belongs
SPPLPivotTable relatedTable = leftPivotTableHeader->relatedTable();
printf("Number of table rows: %d \n", relatedTable->rowCount());
/* Get left header of pivot object
for building data tables */
SPPLPivotHeader leftPivotHeader = m_gridPivot->leftHeader();
// Create a new object of left table header
SPPLPivotTableHeader customLeftPivotTableHeader =
PPLPivotTableHeader::pivotTableHeader(relatedTable, leftPivotHeader);
// Get array of all table header dimensions
SNArray leftDimensions = customLeftPivotTableHeader->dimensions();
if (leftDimensions->count() > 0) {
printf("Table left header dimensions: \n");
for (int i = 0; i < leftDimensions->count(); i++) {
SPPLDimension dimension = leftDimensions->objectAtIndex<PPLDimension>(i);
printf("%s \n", dimension->name()->UTF8String());
}
} else {
printf("There are no dimensions in table left header \n");
}
printf("Number of left header elements: %d \n", customLeftPivotTableHeader->elements()->elementsCount());
/* Get top header of pivot object
for building data tables */
SPPLPivotHeader topPivotHeader = m_gridPivot->topHeader();
SPPLPivotTableHeader customTopPivotTableHeader = PPLPivotTableHeader::pivotTableHeader(relatedTable, [self pivotStateForDimensions: (topPivotHeader->dimensions())], topPivotHeader, false);
//SPPLPivotTableHeader customTopPivotTableHeader = PPLPivotTableHeader::pivotTableHeader(relatedTable, topPivotHeader);
// Get array of all table header dimensions
SNArray topDimensions = customTopPivotTableHeader->dimensions();
if (topDimensions->count() > 0) {
printf("Table top header dimensions: \n");
for (int i = 0; i < topDimensions->count(); i++) {
SPPLDimension dimension1 = topDimensions->objectAtIndex<PPLDimension>(i);
printf("%s \n", dimension1->name()->UTF8String());
}
} else {
printf("There are no table top header dimensions \n");
}
printf("Number of top header elements: %d", customTopPivotTableHeader->elements()->elementsCount());
}
// Returns table state settings for specified dimensions
-(SPPLPivotState) pivotStateForDimensions: (SNArray) dimensions {
/* Determine state of pivot object
for building data tables */
SPPLPivotState pivotState = PPLPivotState::pivotState(m_gridPivot);
SPPLDimensionSelectionSet selSet = new PPLDimensionSelectionSet();
for (int i = 0; i < dimensions->count(); ++i) {
SPPLDimension dimension = dimensions->objectAtIndex<PPLDimension>(i);
SPPLDimensionSelection selection = new PPLDimensionSelection(dimension);
selection->selectAll();
selSet->addSelection(selection, dimension->id());
}
// Determine dimension selection set
pivotState->setSelectionSet(selSet);
return pivotState;
}
After executing the example the development environment console displays the number of table rows, dimension names, and the number of table left and top headers:
Number of table rows: 5
Table left header dimensions:
World
Number of left header elements: 4
Table top header dimensions:
Calendar
Number of top header elements: 6
See also: