Требования к операционной системе: iOS 5.0 и выше.
Мобильное устройство: iPad.
В данном примере реализована работа с таблицей данных. После запуска примера выполняются следующие операции:
разрешается обновление таблицы и начинается выделение строк и столбцов таблицы данных;
в консоль среды разработки выводятся значения количества столбцов и строк таблицы данных, а также данные из указанной ячейки;
определяется количество настроек вычисляемых рядов таблицы;
выполняется выделение строк и столбцов таблицы, после чего выводится информация о выделенных строках и столбцах;
поочередно снимается выделение со строки и столбца с указанными индексами, выделение всех строк и столбцов;
после каждого снятия выделения в консоль выводится информация о выделенных строках и столбцах таблицы данных;
создается и конфигурируется копия таблицы данных, в которой снимается выделение со всех элементов таблицы, если выделенные элементы присутствуют;
завершается выделение строк и столбцов таблицы данных, устанавливается запрет на обновление таблицы;
объект таблицы данных уничтожается.
Для выполнения примера необходимо разместить взамен метода executeExample класса ViewController (см. раздел «Анализ данных») следующий код:
-(void)executeExample {
// Получаем таблицу объекта, представляющего собой основу для построения таблиц с данными
SPPLPivotTable pivotTable = m_gridPivotTable;
// Снимаем запрет на обновление таблицы
pivotTable->unlock();
// Начинаем выделение строк и столбцов таблицы
pivotTable->beginChangingSelection();
// Выводим количество строк и столбцов в таблице
printf("Количество столбцов в таблице: %d\n", pivotTable->columnCount());
printf("Количество строк в таблице: %d\n", pivotTable->rowCount());
// Выводим информацию о вычисляемых рядах таблицы
printSettingsInfo(pivotTable);
// Получаем и выводим данные из ячейки
NSNumber *data = (NSNumber *)pivotTable->getData(3, 3)->nsObject();
NSLog(@"%@: %f", @"Значение данных ячейки", [data doubleValue]);
// Выделяем строки и столбцы таблицы данных
for(int i = 1; i<=5; i++) {
pivotTable->selectColumn(i);
pivotTable->selectRow(i);
}
// Выводим информацию о выделенных строках и столбцах
printf("Количество выделенных строк: %d; столбцов: %d\n", pivotTable->selectedColumnIndices()->count(), pivotTable->selectedRowIndices()->count());
// Снимаем выделение со строки и столбца с указанными индексами
pivotTable->deselectColumn(3);
pivotTable->deselectRow(3);
printf("Снятие выделения со строки и столбца\n");
// Выводим информацию о выделенных строках и столбцах
printf("Количество выделенных строк: %d; столбцов: %d\n", pivotTable->selectedColumnIndices()->count(), pivotTable->selectedRowIndices()->count());
// Снимаем выделение со всех столбцов
pivotTable->deselectAllColumns();
printf("Снятие выделения всех столбцов\n");
// Выводим информацию о выделенных строках и столбцах
printf("Количество выделенных строк: %d; столбцов: %d\n", pivotTable->selectedColumnIndices()->count(), pivotTable->selectedRowIndices()->count());
// Снимаем выделение со всех строк
pivotTable->deselectAllRows();
printf("Снятие выделения всех строк\n");
// Выводим информацию о выделенных строках и столбцах
printf("Количество выделенных строк: %d; столбцов: %d\n", pivotTable->selectedColumnIndices()->count(), pivotTable->selectedRowIndices()->count());
// Создаем новый объект таблицы данных
SPPLPivotTable newPivotTable = PPLPivotTable::pivotTable(pivotTable->relatedPivot());
// Выгружаем параметры таблицы
SNID plist = pivotTable->generatePlist();
// Конфигурируем новую таблицу на основе параметров
newPivotTable->setupFromPlist(plist);
// Снимаем выделение всех строк и столбцов
if(newPivotTable->selectedColumnIndices()->count() != 0 || newPivotTable->selectedRowIndices()->count() != 0)
{
newPivotTable->deselectAll();
}
// Завершаем выделение строк и столбцов таблицы
pivotTable->endChangingSelection();
// Устанавливаем запрет на обновление таблицы
pivotTable->lock();
// Уничтожаем объект таблицы
pivotTable->~PPLPivotTable();
}
// Выводит информацию о вычисляемых рядах таблицы
void printSettingsInfo(SPPLPivotTable pivotTable) {
// Получаем настройки вычисляемых рядов
SPPLPivotTableCalculatorSettings calculatorSettings = pivotTable->calculatorSettings();
printf("Количество настроек вычисляемых рядов: %d\n", calculatorSettings->settingsCount());
}
В результате выполнения примера в консоль среды разработки будет выведена информация о таблице данных:
Количество столбцов в таблице: 11
Количество строк в таблице: 172
Количество настроек вычисляемых рядов: 0
Значение данных ячейки: 1880.266107
Количество выделенных строк: 5; столбцов: 5
Снятие выделения со строки и столбца
Количество выделенных строк: 4; столбцов: 4
Снятие выделения всех столбцов
Количество выделенных строк: 0; столбцов: 4
Снятие выделения всех строк
Количество выделенных строк: 0; столбцов: 0
См. также: