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

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

Материал из Химсофт Вики
 
(не показаны 22 промежуточные версии этого же участника)
Строка 96: Строка 96:
**в окне <code>Expression Editor</code> будет отображаться в полном формате как <code>=Fields!fio.Value</code>.
**в окне <code>Expression Editor</code> будет отображаться в полном формате как <code>=Fields!fio.Value</code>.


==Сортировка таблицы (статическая)==
==Статическая сортировка==


Сортировка помогает лучше упорядочить и представить данные в отчете.  
'''Статическая сортировка''' - выполняется (в отличие от интерактивной) до вывода отчета на экран и является условно неизменяемой. Для изменения нужны:
*выход из режима <code>Preview</code>,
*изменение в свойствах таблицы полей и/или порядка сортировки,
*повторная генерация отчета в режиме <code>Preview</code>.


Статическая сортировка данных (в отличие от интерактивной) выполняется до вывода отчета на экран и является условно неизменяемой (для изменения нужны выход из режима <code>Preview</code>, изменение в свойствах таблицы полей и/или порядка сортировки, повторная генерация отчета в режиме <code>Preview</code>).
===Порядок сортировки области данных таблицы===
 
Сортировку можно выполнить в порядке возрастания или убывания.
 
Порядок сортировки области данных таблицы:
*выберите таблицу и щелкните ссылку <code>Property dialog...</code>, чтобы открыть диалоговое окно <code>Table</code>;
*выберите таблицу и щелкните ссылку <code>Property dialog...</code>, чтобы открыть диалоговое окно <code>Table</code>;
*перейдите в раздел <code>Sorting</code> и нажмите <code>+</code>;
*перейдите в раздел <code>Sorting</code> и нажмите <code>+</code>;
Строка 113: Строка 112:
[[Файл:sorting.png|center|thumb]]
[[Файл:sorting.png|center|thumb]]


==Сортировка таблицы (интерактивная)==
==Интерактивная сортировка==
 
'''Интерактивная сортировка''' используется для сортировки столбцов данных в области данных в уже опубликованном отчете.  
Интерактивная сортировка используется для сортировки столбцов данных в области данных в уже опубликованном отчете.  


===Диалог свойств===
Функция интерактивной сортировки настраивается на вкладке <code>Interactive Sort</code>, которая доступна в диалоговом окне <code>TextBox</code>.
Функция интерактивной сортировки настраивается на вкладке <code>Interactive Sort</code>, которая доступна в диалоговом окне <code>TextBox</code>.


Строка 130: Строка 129:
**<code>Choose data region or grouping</code> - выбор альтернативной области данных или группировки.
**<code>Choose data region or grouping</code> - выбор альтернативной области данных или группировки.


===Блок интерфейса "Свойства"===
Те же самые возможности (с другими названиями, но отражающими суть) доступны в разделе <code>Свойства >> Data >> UserSort</code>
Те же самые возможности (с другими названиями, но отражающими суть) доступны в разделе <code>Свойства >> Data >> UserSort</code>
[[Файл:sorting_2.png|center|thumb]]
[[Файл:sorting_4.png|center|thumb]]


После настройки интерактивной сортировки при предварительном просмотре отчета в элементе управления TextBox отображается значок сортировки [[Файл:sorting_4.png|20px|baseline|link=]].  
===Использование===
После настройки интерактивной сортировки при предварительном просмотре отчета в элементе управления TextBox отображается значок сортировки [[Файл:sorting_3.png|20px|baseline|link=]].  


Пользователь может сортировать данные, отображаемые в текстовом поле, в порядке возрастания или убывания, щелкая по значкам.
Пользователь может сортировать данные, отображаемые в текстовом поле, в порядке возрастания или убывания, щелкая по значкам.
Строка 197: Строка 198:
*выбрать пункт <code>Expression…</code>;
*выбрать пункт <code>Expression…</code>;
*в поле <code>Expression:</code> ввести с клавиатуры (или выбрать в поле <code>Fields:</code>) <code>=GroupIndex("Type_Group") + 1 & "." & GroupIndex("AO_Group") + 1 & ". " & Fields!ao_name.Value</code>.
*в поле <code>Expression:</code> ввести с клавиатуры (или выбрать в поле <code>Fields:</code>) <code>=GroupIndex("Type_Group") + 1 & "." & GroupIndex("AO_Group") + 1 & ". " & Fields!ao_name.Value</code>.
==Фильтрация данных по параметру==
*выделить таблицу на основном поле конструктора или в дереве;
*нажать на кнопку диалогового окна свойств <code>Property dialog…</code>;
*в открывшемся окне в левом столбце перейти на вкладку <code>Table - Filters</code> и нажать на кнопку <code>+</code> (рис. 5.4);
[[Файл:Parameter4.png|center|thumb]]
*в результате появится «пустой» параметр, не имеющий свойств;
*для добавления свойств нажать на стрелку поля <code>Expression</code> и в раскрывшемся списке выбрать поле из <code>DataSet</code> (например, <code>=Fields!lab_name.Value</code>), по которому будет проводиться группировка (рис. 5.5);
[[Файл:Parameter5.png|center|thumb]]
*в поле <code>Operator:</code> выбрать оператор <code>Equal</code> (рис. 5.6);
[[Файл:Parameter6.png|center|thumb]]
*в разделе <code>Values</code> в поле <code>Expression</code> нажать стрелку меню и выбрать из списка значение <code>Expression…</code> (рис. 5.6);
*в открывшемся окне <code>Expression Editor</code> в левой части окна в области <code>Fields:</code> раскрыть группу <code>Parameters</code> и выбрать пункт <code>ReportParameterLaboratory</code> (рис. 5.7);
[[Файл:Parameter7.png|center|thumb]]
*двойным кликом или кнопкой <code>Append</code> добавить пункт <code>ReportParameterLaboratory</code> в область <code>Expression:</code>;
*нажать кнопку <code>ОК</code> в окне <code>Expression Editor</code>;
*нажать кнопку <code>ОК</code> в окне <code>Table - Filters</code>;
*при формировании отчета перед выводом документа на экран появится колонка с параметром в качестве параметра (рис. 5.8).
[[Файл:Parameter8.png|center]]
==Условное отображение строк==
'''Условное отображение строк''' - применяется, если таблица имеет сложную неоднородную структуру.
[[Файл:condition.png|center|thumb]]
Например, если часть ячеек должна быть объединена (строка 1 по столбцам "минимальная" и "максимальная"), а часть остаться необъединенной (строки 2-3).
===Порядок действий===
*в конструкторе создать элемент <code>Table</code>;
*создать 2 строки заголовков <code>Table Header</code> (2 уровня строк нужны для ячеек блока "Норма: минимальная / максимальная");
*привести созданную по умолчанию единственную строку данных <code>Table Details</code> в соответствие требуемой строке №1 (границы, шрифт, выравнивание, наполнение данными, объединение ячеек "минимальная / максимальная");
*выделить строку данных;
[[Файл:condition_2.png|center|thumb]]
*в блоке элементов интерфейса "Свойства" выбрать <code>Свойства >> Apperance >> Visibility >> Hidden</code>;
[[Файл:condition_3.png|center|thumb]]
*ввести условие отображения строки с данным оформлением (например, <code>=Fields!group_number.Value <> 1</code>);
*условной итоговой командой для дизайнера можно считать следующую - ''в таблице в визуальном представлении (<code>Visibility</code>) выбранной строки данных скрыть (<code>Hidden</code>) строки, у которых будет выполняться введенное условие (<code>=Fields!group_number.Value <> 1</code>), т.е. скрыть все строки, кроме первой'';
*создать вторую строку данных;
*скопировать (для ускорения форматирования) все ячейки из первой строки данных;
*привести вторую строку данных <code>Table Details</code> в соответствие требуемой в строках №2-3 (границы, шрифт, выравнивание, наполнение данными, раздельные ячейки "минимальная / максимальная");
[[Файл:condition_4.png|center|thumb]]
*в блоке элементов интерфейса "Свойства" выбрать <code>Свойства >> Apperance >> Visibility >> Hidden</code>;
[[Файл:condition_5.png|center|thumb]]
*ввести условие отображения строки с данным оформлением (например, <code>=Fields!group_number.Value = 1</code>);
*условной итоговой командой для дизайнера можно считать следующую - ''в таблице в визуальном представлении (<code>Visibility</code>) выбранной строки данных скрыть (<code>Hidden</code>) строки, у которых будет выполняться введенное условие (<code>=Fields!group_number.Value = 1</code>), т.е. скрыть первую строку''.


{{Блок документов ВебЛИМС «Тритея»}}
{{Блок документов ВебЛИМС «Тритея»}}

Текущая версия от 03:53, 24 марта 2026

Таблица (Table) - область данных, которая используется для отображения информации в табличном формате в табличных отчётах.

Общие сведения

  • таблица состоит из столбцов и строк, в которых организованы данные;
  • по умолчанию в таблице три столбца и три строки, всего девять ячеек, каждая из которых заполнена текстовым полем;
  • во время разработки вы можете добавлять или удалять столбцы, строки и группы в соответствии с вашими потребностями;
  • в ячейки таблицы можно встраивать другие области данных (текстовые поля, поля форматированного текста, картинки и др.).

Создание таблицы

  • для добавления таблицы необходимо в левой части окна Дизайнера левой кнопкой мыши нажать на элемент Table и, не отпуская, перенести его в желаемое место и отпустить кнопку мыши;
  • по умолчанию в таблице три столбца и три строки, всего девять ячеек, каждая из которых заполнена текстовым полем;
  • по умолчанию в таблице три столбца и три строки, всего девять ячеек, каждая из которых заполнена текстовым полем;
  • первая строка Table Header является строкой заголовка, может располагаться только на первой странице или повторяться на всех;
  • вторая строка Table Details является строкой собственно данных;
  • третья строка Table Footer является результирующей (можно использовать для итоговых вычислений), также может располагаться только на первой странице или повторяться на всех;
  • для скрытия результирующей строки в контекстном меню таблицы отжать значение Table Footer;
  • аналогичным образом можно регулировать отображение остальных разделов строк (Table Header, Table Details).

Изменение размера таблицы

  • для изменения размера таблицы необходимо левой кнопкой мыши перетащить узловую точку границы таблицы в желаемое место и отпустить кнопку мыши;
  • также для изменения размера таблицы можно использовать окно свойств таблицы, пункт меню Layout >> Size.

Изменение высоты строк

  • для изменения высоты строк необходимо выбрать одну или несколько строк таблицы, перейти в окно свойств таблицы, пункт меню Layout >> Height и ввести необходимые данные (например, 0,55).

Создание и удаление столбцов

  • для добавления столбцов в таблицу необходимо выбрать один из столбцов таблицы, нажать правую клавишу мыши и в контекстном меню выбрать добавление столбца справа Insert Column to the Right или слева Insert Column to the Left от выделенного столбца;
  • для удаления столбцов в таблицу необходимо выбрать один или несколько столбцов, нажать правую клавишу мыши и в контекстном меню выбрать удаление столбца Delete Columns.

Объединение и разделение ячеек

  • для объединения необходимо выделить объединяемые ячейки, вызвать правой кнопкой мышки контекстное меню, выбрать пункт Merge Cells;
  • для разделения необходимо выделить разделяемую ячейку, вызвать правой кнопкой мышки контекстное меню, выбрать пункт Split Cells.

Объединение соседних ячеек с одинаковыми значениями

  • левой кнопкой мыши выделить необходимую ячейку таблицы;
  • в разделе свойств элемента Layout >> AutoMergeMode нажать левой кнопкой мыши на стрелку;
  • выбрать значение из списка: Never (по умолчанию, никогда не объединяются), Always (всегда объединяются) и Restricted (объединяются только в том случае, если соответствующие ячейки в предыдущих столбцах объединены аналогичным образом – Always или Restricted).

Примечание: другие свойства сочетания границ и содержимого текстовых ячеек.

Изменение свойств границ

Для отображения всех границ таблицы:

  • выделить всю таблицу на основном поле конструктора или в дереве отчета ReportSection1 >> Body >> Table1;
  • перейти в окно свойств таблицы, в пункте меню Appearance >> BorderStyle;
  • в раскрывающемся списке выбрать значение Solid или другое требуемое (по умолчанию при создании таблицы границы не отображаются – значение None).

Также можно настроить отображение каждой границы ячейки отдельно. Для этого:

  • выбрать одну или несколько ячеек;
  • раскрыть пункт меню Appearance >> BorderStyle;
  • в раскрывающемся списке выбрать значение Solid для любой из четырех границ (в данном случае значение Solid установлено для нижней границы).

Наименование и форматирование заголовков

По умолчанию каждая ячейка таблицы является текстовым полем, соответственно форматирование содержимого такое же:

Для шрифта вносятся изменения в следующие свойства:

  • стиль Appearance >> Font >> FontStyle – нормальный Normal или курсив Italic;
  • название Appearance >> Font >> FontFamily;
  • размер Appearance >> Font >> FontSize;
  • толщина Appearance >> Font >> FontWeight – нормальный Normal, жирный Bold и другие.

Выравнивание текста:

  • по горизонтали Appearance >> Font >> TextAlign;
  • выравнивание текста по вертикали Appearance >> Font >> VerticalAlign.

Изменение имени текстового поля:

  • Data >> DataElementName;
  • Design >> Name.

Определение нумерации строк

  • на ячейке данных, в которой будут выводиться номера строк (в данном случае – первый столбец, первая строка после заголовка) правой кнопкой вызвать контекстное меню;
  • выбрать пункт Expression…;
  • в появившемся окне Expression Editor в поле Expression: ввести с клавиатуры =RowNumber() или выбрать (двойной клик) данную функцию из меню Fields: >> Common Functions >> Miscellaneous >> RowNumber;
  • в дальнейшем, при необходимости, можно создать фильтр ReportParametrNumberFirstString для ввода начального значения первой строки пользователем; в таком случае выражение будет иметь вид =RowNumber() + Parameters!ReportParametrNumberFirstString.Value – 1.

Добавление данных БД в ячейки из DataSet

  • для ввода простого значения из подключенного набора данных DataSet необходимо выбрать желаемую конечную ячейку таблицы;
  • в правой верхней части ячейки левой кнопкой мыши нажать на три горизонтальных синих черточки;
  • в появившемся списке всех доступных в DataSet полей выбрать необходимое поле;
  • при этом значение поля в DataSet имеет ряд синонимов
    • в списке название фигурирует как fio;
    • в ячейке после выбора будет отображаться в сокращенном формате как =[fio];
    • в окне Expression Editor будет отображаться в полном формате как =Fields!fio.Value.

Статическая сортировка

Статическая сортировка - выполняется (в отличие от интерактивной) до вывода отчета на экран и является условно неизменяемой. Для изменения нужны:

  • выход из режима Preview,
  • изменение в свойствах таблицы полей и/или порядка сортировки,
  • повторная генерация отчета в режиме Preview.

Порядок сортировки области данных таблицы

  • выберите таблицу и щелкните ссылку Property dialog..., чтобы открыть диалоговое окно Table;
  • перейдите в раздел Sorting и нажмите +;
  • в поле Expression выберите значение для сортировки данных отчета (например, =[fio]);
  • выберите направление сортировки, выбрав варианты по возрастанию (Ascending) или по убыванию (Descending);
  • нажмите ОК.

Интерактивная сортировка

Интерактивная сортировка используется для сортировки столбцов данных в области данных в уже опубликованном отчете.

Диалог свойств

Функция интерактивной сортировки настраивается на вкладке Interactive Sort, которая доступна в диалоговом окне TextBox.

Для настройки интерактивной сортировки используются следующие поля:

  • Sort Expression: - выражение, задающее значение сортировки (например - поле) для данных, содержащихся в столбце;
  • Data region or group to sort: - выберите уровень группировки или область данных в отчете для сортировки;
    • Current scope - значением по умолчанию является текущая область;
    • Choose data region or grouping - выбор альтернативной области данных или группировки;
  • Evaluate sort expression in this scope: - выберите уровень группировки в отчете, на котором будет оцениваться выражение сортировки выражение агрегированной сортировки;
    • Current scope - значением по умолчанию является текущая область;
    • Choose data region or grouping - выбор альтернативной области данных или группировки.

Блок интерфейса "Свойства"

Те же самые возможности (с другими названиями, но отражающими суть) доступны в разделе Свойства >> Data >> UserSort

Использование

После настройки интерактивной сортировки при предварительном просмотре отчета в элементе управления TextBox отображается значок сортировки .

Пользователь может сортировать данные, отображаемые в текстовом поле, в порядке возрастания или убывания, щелкая по значкам.

Группировка данных таблицы

Создание группировки таблицы

  • выделить таблицу на основном поле конструктора или в дереве;
  • нажать на кнопку диалогового окна свойств Property dialog…;
  • в открывшемся окне в левом столбце перейти на вкладку Table - Groups и нажать на кнопку +;
  • в результате появится группа MainTable_Group1;
  • в области Group on: нажать на стрелку поля Expression и в раскрывшемся списке выбрать поле из DataSet, по которому будет проводиться группировка;
  • в результате на основном поле конструктора выше и ниже основной строки с данными появятся строки добавленной группировки.

Удаление результирующей строки группировки

  • выделить таблицу на основном поле конструктора или в дереве;
  • нажать на кнопку диалогового окна свойств Property dialog… (рис. 4.19);
  • в открывшемся окне в левом столбце перейти на вкладку Table - Groups;
  • в правом разделе окна перейти на вкладку Layout (рис. 4.23);
  • убрать галочку из поля Include group footer.

Нумерация

Сквозная нумерация строк

  • левой кнопкой мыши выделить ячейку таблицы (обычно крайнюю левую);
  • правой кнопкой мыши вызвать контекстное меню
  • выбрать пункт Expression…;
  • в появившемся окне Expression Editor в левой части окна в области Fields: выбрать пункт Common Function >> Miscellaneous >> RowNumber и двойным кликом или кнопкой Append добавить пункт RowNumber в область Expression:;
  • также можно с клавиатуры в поле Expression: ввести =RowNumber().

Сквозная нумерация строк со значения, заданного пользователем

  • создать простой фильтр ReportParametrNumberFirstString;
  • задать имя фильтра, тип данных Integer и текст-приглашение для ввода данных на вкладке Report – Parameters >> General;
  • задать значение по умолчанию 1, тип данных Integer и текст-приглашение для ввода данных на вкладке Report – Parameters >> DefaultValues;
  • левой кнопкой мыши выбрать ячейку таблицы (обычно крайнюю левую);
  • правой кнопкой мыши вызвать контекстное меню;
  • выбрать пункт Expression…;
  • в поле Expression: ввести с клавиатуры =RowNumber() + Parameters!ReportParametrNumberFirstString.Value - 1 или выбрать соответствующие элементы в поле Fields:;
  • в результате получится простой фильтр.

Нумерация групп и строк внутри групп

  • создать группу верхнего уровня Type_Group («Тип объекта анализа») на основании поля type_name из текущего набора данных;
  • левой кнопкой мыши выбрать ячейку таблицы (обычно крайнюю левую);
  • правой кнопкой мыши вызвать контекстное меню;
  • выбрать пункт Expression…;
  • в поле Expression: ввести с клавиатуры (или выбрать в поле Fields:) =GroupIndex("Type_Group") + 1 & ". " & Fields.type_name.Value;
  • создается группа второго уровня AO_Group («Объект анализа») на основании поля ao_name из текущего набора данных;
  • левой кнопкой мыши выбрать ячейку таблицы (обычно крайнюю левую);
  • правой кнопкой мыши вызвать контекстное меню;
  • выбрать пункт Expression…;
  • в поле Expression: ввести с клавиатуры (или выбрать в поле Fields:) =GroupIndex("Type_Group") + 1 & "." & GroupIndex("AO_Group") + 1 & ". " & Fields!ao_name.Value.

Фильтрация данных по параметру

  • выделить таблицу на основном поле конструктора или в дереве;
  • нажать на кнопку диалогового окна свойств Property dialog…;
  • в открывшемся окне в левом столбце перейти на вкладку Table - Filters и нажать на кнопку + (рис. 5.4);
  • в результате появится «пустой» параметр, не имеющий свойств;
  • для добавления свойств нажать на стрелку поля Expression и в раскрывшемся списке выбрать поле из DataSet (например, =Fields!lab_name.Value), по которому будет проводиться группировка (рис. 5.5);
  • в поле Operator: выбрать оператор Equal (рис. 5.6);
  • в разделе Values в поле Expression нажать стрелку меню и выбрать из списка значение Expression… (рис. 5.6);
  • в открывшемся окне Expression Editor в левой части окна в области Fields: раскрыть группу Parameters и выбрать пункт ReportParameterLaboratory (рис. 5.7);
  • двойным кликом или кнопкой Append добавить пункт ReportParameterLaboratory в область Expression:;
  • нажать кнопку ОК в окне Expression Editor;
  • нажать кнопку ОК в окне Table - Filters;
  • при формировании отчета перед выводом документа на экран появится колонка с параметром в качестве параметра (рис. 5.8).

Условное отображение строк

Условное отображение строк - применяется, если таблица имеет сложную неоднородную структуру.

Например, если часть ячеек должна быть объединена (строка 1 по столбцам "минимальная" и "максимальная"), а часть остаться необъединенной (строки 2-3).

Порядок действий

  • в конструкторе создать элемент Table;
  • создать 2 строки заголовков Table Header (2 уровня строк нужны для ячеек блока "Норма: минимальная / максимальная");
  • привести созданную по умолчанию единственную строку данных Table Details в соответствие требуемой строке №1 (границы, шрифт, выравнивание, наполнение данными, объединение ячеек "минимальная / максимальная");
  • выделить строку данных;
  • в блоке элементов интерфейса "Свойства" выбрать Свойства >> Apperance >> Visibility >> Hidden;
  • ввести условие отображения строки с данным оформлением (например, =Fields!group_number.Value <> 1);
  • условной итоговой командой для дизайнера можно считать следующую - в таблице в визуальном представлении (Visibility) выбранной строки данных скрыть (Hidden) строки, у которых будет выполняться введенное условие (=Fields!group_number.Value <> 1), т.е. скрыть все строки, кроме первой;
  • создать вторую строку данных;
  • скопировать (для ускорения форматирования) все ячейки из первой строки данных;
  • привести вторую строку данных Table Details в соответствие требуемой в строках №2-3 (границы, шрифт, выравнивание, наполнение данными, раздельные ячейки "минимальная / максимальная");
  • в блоке элементов интерфейса "Свойства" выбрать Свойства >> Apperance >> Visibility >> Hidden;
  • ввести условие отображения строки с данным оформлением (например, =Fields!group_number.Value = 1);
  • условной итоговой командой для дизайнера можно считать следующую - в таблице в визуальном представлении (Visibility) выбранной строки данных скрыть (Hidden) строки, у которых будет выполняться введенное условие (=Fields!group_number.Value = 1), т.е. скрыть первую строку.