Немного теории

Top  Previous  Next

Рассмотрим элементы матрицы:

 

_img180

 

На рисунке мы видим матрицу с двумя строками и четырьмя столбцами. Здесь a, b – заголовки строк, 1, 2, 3, 4 – заголовки столбцов, a1..a4, b1..b4 – ячейки. Чтобы построить такой отчет, понадобится всего один набор данных (запрос или таблица), который имеет три поля и содержит следующие данные:

 

a        1        a1

a        2        a2

a        3        a3

a        4        a4

b        1        b1

b        2        b2

b        3        b3

b        4        b4

 

Как видно, первое поле содержит номер строки, второе – номер столбца, третье – содержимое ячейки на пересечении строки и столбца с указанным номером. При построении отчета FastReport создает в памяти матрицу и заполняет ее данными. При этом матрица динамически расширяется, если строки или столбца с заданным номером еще не существует.

 

Заголовки могут иметь более одного уровня. Рассмотрим следующий пример:

 

_img181

 

В этом примере номер, или индекс, столбца – составной, т.е. состоит из двух значений. Этот отчет требует следующих данных:

 

a        10        1        a10.1

a        10        2        a10.2

a        20        1        a20.1

a        20        2        a20.2

b        10        1        b10.1

b        10        2        b10.2

b        20        1        b20.1

b        20        2        b20.2

 

Здесь первое поле, как и прежде, содержит индекс строки, второе и третье поля – индекс колонки. Последнее поле содержит значение ячейки.

 

Следующий элемент матрицы – промежуточные итоги и итоги, демонстрирует следующий рисунок:

 

_img183

 

Этот отчет строится на тех же данных, что и предыдущий. Столбцы, показанные серым на рисунке, вычисляются автоматически.