Требования к операционной системе: iOS 5.0 и выше.
Мобильное устройство: iPad.
В данном примере демонстрируется работа с заголовками таблицы. После запуска примера выполняются следующие операции:
возвращается левый заголовок таблицы;
определяется количество строк в таблице;
возвращаются левый и верхний заголовки объекта, представляющего собой основу для построения таблиц с данными;
определяется состояние объекта, представляющего собой основу для построения таблиц с данными;
создаются новые объекты левого и верхнего заголовков таблицы;
определяются измерения левого и верхнего заголовков таблицы;
определяется количество элементов в левом и верхнем заголовках таблицы.
Для выполнения примера необходимо разместить взамен метода executeExample класса ViewController (см. раздел «Анализ данных») следующий код:
-(void)executeExample {
// Получаем левый заголовок таблицы
SPPLPivotTableHeader leftPivotTableHeader = m_gridPivotTable->leftHeader();
// Получаем таблицу, которой принадлежит заголовок
SPPLPivotTable relatedTable = leftPivotTableHeader->relatedTable();
printf("Количество строк таблицы: %d \n", relatedTable->rowCount());
/* Получаем левый заголовок объекта, представляющего собой основу
для построения таблиц с данными */
SPPLPivotHeader leftPivotHeader = m_gridPivot->leftHeader();
// Создаём новый объект левого заголовка таблицы
SPPLPivotTableHeader customLeftPivotTableHeader =
PPLPivotTableHeader::pivotTableHeader(relatedTable, leftPivotHeader);
// Получаем массив всех измерений заголовка таблицы
SNArray leftDimensions = customLeftPivotTableHeader->dimensions();
if (leftDimensions->count() > 0) {
printf("Измерения левого заголовка таблицы: \n");
for (int i = 0; i < leftDimensions->count(); i++) {
SPPLDimension dimension = leftDimensions->objectAtIndex<PPLDimension>(i);
printf("%s \n", dimension->name()->UTF8String());
}
} else {
printf("Измерения у левого заголовка таблицы отсутствуют \n");
}
printf("Количество элементов левого заголовка: %d \n", customLeftPivotTableHeader->elements()->elementsCount());
/* Получаем верхний заголовок объекта, представляющего собой основу
для построения таблиц с данными */
SPPLPivotHeader topPivotHeader = m_gridPivot->topHeader();
SPPLPivotTableHeader customTopPivotTableHeader = PPLPivotTableHeader::pivotTableHeader(relatedTable, [self pivotStateForDimensions: (topPivotHeader->dimensions())], topPivotHeader, false);
//SPPLPivotTableHeader customTopPivotTableHeader = PPLPivotTableHeader::pivotTableHeader(relatedTable, topPivotHeader);
// Получаем массив всех измерений заголовка таблицы
SNArray topDimensions = customTopPivotTableHeader->dimensions();
if (topDimensions->count() > 0) {
printf("Измерения верхнего заголовка таблицы: \n");
for (int i = 0; i < topDimensions->count(); i++) {
SPPLDimension dimension1 = topDimensions->objectAtIndex<PPLDimension>(i);
printf("%s \n", dimension1->name()->UTF8String());
}
} else {
printf("Измерения у верхнего заголовка таблицы отсутствуют \n");
}
printf("Количество элементов верхнего заголовка: %d", customTopPivotTableHeader->elements()->elementsCount());
}
// Возвращает настройки состояния таблицы для указанных измерений
-(SPPLPivotState) pivotStateForDimensions: (SNArray) dimensions {
/* Определяем состояние объекта, представляющего собой основу
для построения таблиц с данными */
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());
}
// Устанавливаем набор отметок измерений
pivotState->setSelectionSet(selSet);
return pivotState;
}
В результате выполнения примера в консоли среды разработки были выведены количество строк таблицы, наименования измерений и количество элементов левого и верхнего заголовков таблицы:
Количество строк таблицы: 5
Измерения левого заголовка таблицы:
World
Количество элементов левого заголовка: 4
Измерения верхнего заголовка таблицы:
Календарь
Количество элементов верхнего заголовка: 6
См. также: