Перейти к содержанию

Таблица: различия между версиями

Материал из Химсофт Вики
Нет описания правки
 
(не показаны 92 промежуточные версии 3 участников)
Строка 1: Строка 1:
'''Таблица''' (<code>Table</code>) - область данных, которая используется для отображения информации в табличном формате в табличных отчётах.  
'''Объект <code>Таблица</code>''' - состоит из строк, колонок и ячеек и представляет собой упрощенный аналог таблицы <code>Microsoft Excel</code>. Он выглядит следующим образом:


==Общие сведения==
[[Файл: table_obj.png|center|border]]
*таблица состоит из столбцов и строк, в которых организованы данные;
*по умолчанию в таблице три столбца и три строки, всего девять ячеек, каждая из которых заполнена [[TextBox|текстовым полем]];
*во время разработки вы можете добавлять или удалять столбцы, строки и группы в соответствии с вашими потребностями;
*в ячейки таблицы можно встраивать другие области данных ([[Текстовое_поле|текстовые поля]], [[Форматированный_текст|поля форматированного текста]], картинки и др.).


==Создание таблицы==
Подробнее об использовании этого объекта можно прочитать в главе <code>Построение отчетов</code>.
*для добавления таблицы необходимо в левой части окна Дизайнера (рис. 4.1) левой кнопкой мыши нажать на элемент <code>Table</code> и, не отпуская, перенести его в желаемое место и отпустить кнопку мыши;
*по умолчанию в таблице три столбца и три строки, всего девять ячеек, каждая из которых заполнена текстовым полем (рис. 4.2);
*по умолчанию в таблице три столбца и три строки, всего девять ячеек, каждая из которых заполнена текстовым полем (рис. 4.2);
*первая строка <code>Table Header</code> является строкой заголовка, может располагаться только на первой странице или повторяться на всех;
*вторая строка <code>Table Details</code> является строкой собственно данных;
*третья строка <code>Table Footer</code> является результирующей (можно использовать для итоговых вычислений), также может располагаться только на первой странице или повторяться на всех;
*для скрытия результирующей строки в контекстном меню таблицы отжать значение <code>Table Footer</code> (рис. 4.3);
*аналогичным образом можно регулировать отображение остальных разделов строк (<code>Table Header</code>, <code>Table Details</code>).


==Изменение размера таблицы==
Объект имеет следующие свойства:
*для изменения размера таблицы необходимо левой кнопкой мыши перетащить узловую точку границы таблицы в желаемое место и отпустить кнопку мыши (рис. 4.4);
*также для изменения размера таблицы можно использовать окно свойств таблицы, пункт меню <code>Layout >> Size</code> (рис. 4.5).


==Изменение высоты строк==
{|class="wikitable" style="margin:auto; background-color: #fff;"
*для изменения высоты строк необходимо выбрать одну или несколько строк таблицы, перейти в окно свойств таблицы, пункт меню <code>Layout >> Height</code> (рис. 4.6) и ввести необходимые данные (например, 0,55).
|-
 
!Свойство
==Создание и удаление столбцов==
!Описание
*для добавления столбцов в таблицу необходимо выбрать один из столбцов таблицы, нажать правую клавишу мыши и в контекстном меню выбрать добавление столбца справа <code>Insert Column to the Right</code> или слева <code>Insert Column to the Left</code> от выделенного столбца (рис. 4.7);
|-
*для удаления столбцов в таблицу необходимо выбрать один или несколько столбцов, нажать правую клавишу мыши и в контекстном меню выбрать удаление столбца <code>Delete Columns</code> (рис. 4.7).
|<code>ColumnCount</code><br>'''''Количество колонок'''''
 
|Позволяет быстро создать нужное количество колонок. Если колонок в таблице меньше, они добавляются, если больше – удаляются.
==Объединение и разделение ячеек==
|-
*для объединения необходимо выделить объединяемые ячейки, вызвать правой кнопкой мышки контекстное меню, выбрать пункт <code>Merge Cells</code> (рис. 4.8);
|<code>RowCount</code><br>'''''Количество строк'''''
*для разделения необходимо выделить разделяемую ячейку, вызвать правой кнопкой мышки контекстное меню, выбрать пункт <code>Split Cells</code> (рис. 4.9).
|Позволяет быстро создать нужное количество строк. Если строк в таблице меньше, они добавляются, если больше – удаляются.
 
|-
==Объединение соседних ячеек с одинаковыми значениями==
|<code>FixedColumns</code><br>'''''Фиксированные колонки'''''
*левой кнопкой мыши выделить необходимую ячейку таблицы;
|Определяет, сколько колонок в начале таблицы являются фиксированными. Фиксированные колонки образуют заголовок таблицы. Печатью заголовков управляет свойство <code>Повторять заголовки</code>. Это свойство работает только для таблиц, которые строятся динамически.
*в разделе свойств элемента <code>Layout >> AutoMergeMode</code> нажать левой кнопкой мыши на стрелку (рис. 4.11);
|-
*выбрать значение из списка: <code>Never</code> (по умолчанию, никогда не объединяются),  <code>Always</code> (всегда объединяются) и <code>Restricted</code> (объединяются только в том случае, если соответствующие ячейки в предыдущих столбцах объединены аналогичным образом – <code>Always</code> или <code>Restricted</code>).
|<code>FixedRows</code><br>'''''Фиксированные строки'''''
 
|Определяет, сколько строк в начале таблицы являются фиксированными. Фиксированные строки образуют заголовок таблицы. Печатью заголовков управляет свойство <code>Повторять заголовки</code>. Это свойство работает только для таблиц, которые строятся динамически.
==Изменение свойств границ==
|-
Для отображения всех границ таблицы: 
|<code>RepeatHeaders</code><br>'''''Повторять заголовки'''''
*выделить всю таблицу на основном поле конструктора или в дереве отчета <code>ReportSection1 >> Body >> Table1</code>;
|Позволяет печатать заголовки таблицы на каждой новой странице. Это свойство работает только для таблиц, которые строятся динамически.
*перейти в окно свойств таблицы, в пункте меню <code>Appearance >> BorderStyle</code> (рис. 4.12);
|-
*в раскрывающемся списке выбрать значение <code>Solid</code> или другое требуемое (по умолчанию при создании таблицы границы не отображаются – значение <code>None</code>).
|}
 
Также можно настроить отображение каждой границы ячейки отдельно. Для этого:
*выбрать одну или несколько ячеек;
*раскрыть пункт меню <code>Appearance >> BorderStyle</code> (рис. 4.13);
*в раскрывающемся списке выбрать значение <code>Solid</code> для любой из четырех границ (в данном случае значение <code>Solid</code> установлено для нижней границы).
 
==Наименование и форматирование заголовков==
*по умолчанию каждая ячейка таблицы является текстовым полем, соответственно форматирование содержимого такое же (пп. 3.2-3.4, рис. 3.4-3.11, 4.14);
*стиль шрифта выбирается в свойстве <code>Appearance >> Font >> FontStyle</code> – нормальный <code>Normal</code> или курсив <code>Italic</code>;
*названия шрифта выбирается в свойстве <code>Appearance >> Font >> FontFamily</code>;
*размер шрифта выбирается в свойстве <code>Appearance >> Font >> FontSize</code>;
*толщина шрифта выбирается в свойстве <code>Appearance >> Font >> FontWeight</code> – нормальный <code>Normal</code>, жирный <code>Bold</code> и другие;
*выравнивание текста по горизонтали выбирается в свойстве <code>Appearance >> Font >> TextAlign</code>;
*выравнивание текста по вертикали выбирается в свойстве <code>Appearance >> Font >> VerticalAlign</code>;
*изменение имени текстового поля выбирается в 2-х свойствах <code>Data >> DataElementName</code> и <code>Design >> Name</code>.
 
==Определение нумерации строк==
*на ячейке данных, в которой будут выводиться номера строк (в данном случае – первый столбец, первая строка после заголовка) правой кнопкой вызвать контекстное меню, выбрать пункт «Expression…» (рис. 4.15);
*в появившемся окне «Expression Editor» (рис. 4.16) в поле «Expression:» ввести с клавиатуры «=RowNumber()» или выбрать (двойной клик) данную функцию из меню «Fields:» >> «Common Functions» >> «Miscellaneous» >> «RowNumber»;,
*в дальнейшем, при необходимости, можно создать фильтр (ReportParametrNumberFirstString) для ввода начального значения первой строки пользователем, в таком случае выражение будет иметь вид «=RowNumber() + Parameters!ReportParametrNumberFirstString.Value – 1».
 
==Добавление данных БД в ячейки из DataSet==
*для ввода простого значения из подключенного набора DataSet необходимо выбрать желаемую конечную ячейку таблицы;
*в правой верхней части ячейки левой кнопкой мыши нажать на три горизонтальных синих черточки (рис. 4.17);
*в появившемся списке всех доступных в DataSet полей выбрать необходимое поле;
*при этом значение поля в DataSet имеет ряд синонимов
**в списке название фигурирует как «fio»;
**в ячейке после выбора будет отображаться в сокращенном формате как «=[fio]»;
**в окне «Expression Editor» будет отображаться в полном формате как «=Fields!fio.Value».
 
==Группировка данных таблицы==
===Создание группировки таблицы===
*выделить таблицу на основном поле конструктора или в дереве;
*нажать на кнопку диалогового окна свойств «Property dialog…» (рис. 4.19);
*в открывшемся окне в левом столбце перейти на вкладку «Table - Groups» и нажать на кнопку «+» (рис. 4.20);
*в результате появится группа «MainTable_Group1» (рис. 4.21);
*в области «Group on:» нажать на стрелку поля «Expression» и в раскрывшемся списке выбрать поле из DataSet, по которому будет проводиться группировка (рис. 4.19);
*в результате на основном поле конструктора выше и ниже основной строки с данными появятся строки добавленной группировки (рис. 4.22).
 
===Удаление результирующей строки группировки===
*выделить таблицу на основном поле конструктора или в дереве;
*нажать на кнопку диалогового окна свойств «Property dialog…» (рис. 4.19);
*в открывшемся окне в левом столбце перейти на вкладку «Table - Groups»;
*в правом разделе окна перейти на вкладку «Layout» (рис. 4.23);
*убрать галочку из поля «Include group footer».
 
==Нумерация==
===Сквозная нумерация строк===
*левой кнопкой мыши выделить ячейку таблицы (обычно крайнюю левую);
*правой кнопкой мыши вызвать контекстное меню
*выбрать пункт «Expression…»;
*в появившемся окне «Expression Editor» в левой части окна в области «Fields:» выбрать пункт «Common Function» >> «Miscellaneous» >> «RowNumber» (рис. 4.23) и двойным кликом или кнопкой «Append» добавить пункт «RowNumber» в область «Expression:» ;
*также можно с клавиатуры в поле «Expression:» ввести «=RowNumber()».
 
===Сквозная нумерация строк со значения, заданного пользователем===
*создать простой фильтр «ReportParametrNumberFirstString» (пп. 5.1-5.2);
*задать имя фильтра, тип данных «Integer» и текст-приглашение для ввода данных на вкладке «Report – Parameters» >> «General» (рис. 4.24);
*задать значение по умолчанию «1», тип данных «Integer» и текст-приглашение для ввода данных на вкладке «Report – Parameters» >> «DefaultValues» (рис. 4.25);
*левой кнопкой мыши выбрать ячейку таблицы (обычно крайнюю левую);
*правой кнопкой мыши вызвать контекстное меню;
*выбрать пункт «Expression…»;
*в поле «Expression:» ввести с клавиатуры «=RowNumber() + Parameters!ReportParametrNumberFirstString.Value - 1» или выбрать соответствующие элементы в поле «Fields:» (рис. 4.26);
*в результате получится простой фильтр (рис. 4.27).
 
===Нумерация групп и строк внутри групп===
*для нумерации групп и строк групп (рис. 4.28) необходимо дважды провести группировку таблицы (п. 4.11);
*создать группу верхнего уровня «Type_Group» («Тип объекта анализа») на основании поля «type_name» из текущего набора данных (рис. 4.29);
*левой кнопкой мыши выбрать ячейку таблицы (обычно крайнюю левую);
*правой кнопкой мыши вызвать контекстное меню;
*выбрать пункт «Expression…»;
*в поле «Expression:» ввести с клавиатуры (или выбрать в поле «Fields:») «=GroupIndex("Type_Group") + 1 & ". " & Fields.type_name.Value»;
*создается группа второго уровня «AO_Group» («Объект анализа») на основании поля «ao_name» из текущего набора данных (рис. 4.30);
*левой кнопкой мыши выбрать ячейку таблицы (обычно крайнюю левую);
*правой кнопкой мыши вызвать контекстное меню;
*выбрать пункт «Expression…»;
*в поле «Expression:» ввести с клавиатуры (или выбрать в поле «Fields:») «=GroupIndex("Type_Group") + 1 & "." & GroupIndex("AO_Group") + 1 & ". " & Fields!ao_name.Value».

Текущая версия от 04:56, 15 октября 2026

Объект Таблица - состоит из строк, колонок и ячеек и представляет собой упрощенный аналог таблицы Microsoft Excel. Он выглядит следующим образом:

Подробнее об использовании этого объекта можно прочитать в главе Построение отчетов.

Объект имеет следующие свойства:

Свойство Описание
ColumnCount
Количество колонок
Позволяет быстро создать нужное количество колонок. Если колонок в таблице меньше, они добавляются, если больше – удаляются.
RowCount
Количество строк
Позволяет быстро создать нужное количество строк. Если строк в таблице меньше, они добавляются, если больше – удаляются.
FixedColumns
Фиксированные колонки
Определяет, сколько колонок в начале таблицы являются фиксированными. Фиксированные колонки образуют заголовок таблицы. Печатью заголовков управляет свойство Повторять заголовки. Это свойство работает только для таблиц, которые строятся динамически.
FixedRows
Фиксированные строки
Определяет, сколько строк в начале таблицы являются фиксированными. Фиксированные строки образуют заголовок таблицы. Печатью заголовков управляет свойство Повторять заголовки. Это свойство работает только для таблиц, которые строятся динамически.
RepeatHeaders
Повторять заголовки
Позволяет печатать заголовки таблицы на каждой новой странице. Это свойство работает только для таблиц, которые строятся динамически.