Требования к операционной системе: iOS 5.0 и выше.
Мобильное устройство: iPad.
В данном примере реализована работа с настройками итогов таблицы данных и их типами. После запуска примера выполняются следующие операции:
в консоль среды разработки выводятся значения настроек полученных итогов таблицы данных;
создается новый объект итогов таблицы данных, для которого устанавливаются настройки, после чего их значения выводятся в консоль;
создаются новые объекты типов итогов строк и столбцов таблицы данных, для которых устанавливаются новые настройки;
в консоль среды разработки выводятся значения настроек итогов строк и столбцов таблицы данных, а также количество выбранных типов итогов для строк и столбцов.
Для выполнения примера необходимо разместить в теле метода executeExample класса ViewController (см. раздел «Анализ данных») следующий код:
// Получаем таблицу данных
SPPLPivotTable pivotTable = m_gridPivotTable;
// Получаем настройки итогов
SPPLPivotTableTotalsSettings totalsSettings = pivotTable->totalsSettings();
// Выводим значения настроек итогов
printf("%s %d \n","Признак учета данных родителей:", totalsSettings->isIncludeParents());
printf("%s %d \n","Признак интерпретации пустых ячеек, как нулевых:", totalsSettings->isTreatEmptyAsZero());
printf("%s %d \n","Признак учета иерархии:", totalsSettings->isUseHierarchy());
printf("%s %d \n","Признак учета уровней вложенности:", totalsSettings->isUseLevels());
// Создаем новые настройки итогов
SPPLPivotTableTotalsSettings newSettings = new PPLPivotTableTotalsSettings();
// Создаем копию настроек итогов
SPPLPivotTableTotalsSettings copySettings = newSettings->copy()->qClass<PPLPivotTableTotalsSettings>();
// Устанавливаем настройки итогов
if(copySettings->isEmpty()){
copySettings->setIncludeParents(true);
copySettings->setTreatEmptyAsZero(true);
copySettings->setUseHierarchy(true);
copySettings->setUseLevels(true);
}
printf("Значения копии настроек итогов: \n");
// Выводим значения настроек итогов
printf("%s %d \n","Признак учета данных родителей:", copySettings->isIncludeParents());
printf("%s %d \n","Признак интерпретации пустых ячеек, как нулевых:", copySettings->isTreatEmptyAsZero());
printf("%s %d \n","Признак учета иерархии:", copySettings->isUseHierarchy());
printf("%s %d \n","Признак учета уровней вложенности:", copySettings->isUseLevels());
// Получаем типы итогов для строк и столбцов таблицы данных
SPPLPivotTableTotalsTypes rowTypes = totalsSettings->rowTypes();
SPPLPivotTableTotalsTypes columnTypes = totalsSettings->columnTypes();
// Если типы итогов строк пусты, создаем новый объект и устанавливаем состояния итогов
if(rowTypes->isEmpty()){
rowTypes = new PPLPivotTableTotalsTypes();
rowTypes->setCalculateMax(true);
rowTypes->setCalculateAvg(false);
rowTypes->setCalculateMin(false);
rowTypes->setCalculateNotNullCount(false);
rowTypes->setCalculateNullCount(false);
rowTypes->setCalculateSum(false);
}
if(columnTypes->isEmpty()){
// Копируем типы итогов строк таблицы данных
columnTypes = rowTypes->copy()->qClass<PPLPivotTableTotalsTypes>();
// Очищаем типы
columnTypes->clear();
// Устанавливаем расчет итогов по минимуму
columnTypes->setCalculateMin(true);
}
// Выводим настройки типов итогов строк и столбцов таблицы данных
printf("Признаки использования итогов строк:\n");
printf("%s %d \n","Расчет итогов по среднему:", rowTypes->isCalculateAvg());
printf("%s %d \n","Расчет итогов по максимуму:", rowTypes->isCalculateMax());
printf("%s %d \n","Расчет итогов по минимуму:", rowTypes->isCalculateMin());
printf("%s %d \n","Расчет количества не пустых ячеек:", rowTypes->isCalculateNotNullCount());
printf("%s %d \n","Расчет количества пустых ячеек:", rowTypes->isCalculateNullCount());
printf("%s %d \n","Расчет итогов по сумме:", rowTypes->isCalculateSum());
printf("Признаки использования итогов столбцов:\n");
printf("%s %d \n","Расчет итогов по среднему:", columnTypes->isCalculateAvg());
printf("%s %d \n","Расчет итогов по максимуму:", columnTypes->isCalculateMax());
printf("%s %d \n","Расчет итогов по минимуму:", columnTypes->isCalculateMin());
printf("%s %d \n","Расчет количества не пустых ячеек:", columnTypes->isCalculateNotNullCount());
printf("%s %d \n","Расчет количества пустых ячеек:", columnTypes->isCalculateNullCount());
printf("%s %d \n","Расчет итогов по сумме:", columnTypes->isCalculateSum());
// Выводим количество выбранных типов итогов
if(rowTypes->selectedTypes()!=NULL){
printf("%s %d\n", "Количество выбранных типов итогов строк:", rowTypes->selectedTypes()->count());
}
if(rowTypes->selectedTypes()!=NULL){
printf("%s %d\n", "Количество выбранных типов итогов столбцов:", columnTypes->selectedTypes()->count());
}
В результате в консоль среды разработки будут выведены значения настроек итогов и их типов.
Признак учета данных родителей: 1
Признак интерпретации пустых ячеек, как нулевых: 0
Признак учета иерархии: 1
Признак учета уровней вложенности: 1
Значения копии настроек итогов:
Признак учета данных родителей: 1
Признак интерпретации пустых ячеек, как нулевых: 1
Признак учета иерархии: 1
Признак учета уровней вложенности: 1
Признаки использования итогов строк:
Расчет итогов по среднему: 0
Расчет итогов по максимуму: 1
Расчет итогов по минимуму: 0
Расчет количества не пустых ячеек: 0
Расчет количества пустых ячеек: 0
Расчет итогов по сумме: 0
Признаки использования итогов столбцов:
Расчет итогов по среднему: 0
Расчет итогов по максимуму: 0
Расчет итогов по минимуму: 1
Расчет количества не пустых ячеек: 0
Расчет количества пустых ячеек: 0
Расчет итогов по сумме: 0
Количество выбранных типов итогов строк: 1
Количество выбранных типов итогов столбцов: 1
См. также: