Таблица

Рисунок: Таблица

Таблица представляет собой прямоугольную область, разделенную на определенное количество строк и столбцов. Имеется возможность управления расположением отдельных столбцов и строк, а также возможность скрытия столбцов. Общее количество строк (столбцов) может превышать то количество, которое может быть одновременно отображено в области таблицы. В таком случае для отображения скрытых областей используются полосы прокрутки. В том случае, если какой-либо столбец отображается на экране только частично, имеется возможность увеличения ширины данного столбца. Для этого необходимо нажать левой кнопкой мыши на правую границу столбца и, удерживая нажатой кнопку мыши, перетащить границу столбца вправо. Аналогичным образом можно уменьшить ширину столбцов. Содержимое частично отображаемой ячейки может быть выведено на экран при помощи всплывающей подсказки, для этого необходимо переместить указатель мыши на соответствующую ячейку.
 

Для сортировки строк в таблице по содержимому одного из столбцов необходимо щелкнуть левой кнопкой мыши по заголовку соответствующего столбца. В зависимости от предыдущих результатов сортировки, строка с наименьшим значением помещается в начало или в конец списка. Тексты (strings) сортируются в соответствии с кодами ASCII, т.е. все знаки верхнего регистра размещаются в алфавитном порядке до знаков нижнего регистра, которые также отсортированы в алфавитном порядке. При повторном щелчке по заголовку столбца выполняется сортировка в обратном порядке.

Таблицы являются графическими элементами «КАСКАД Цифра» и используются для отображения числовых значений и текстов в виде списков. Таблицы используются в панелях алармов для отображения предупреждений системы и общей информации о состоянии системы в структурированной форме. Таблицы также могут использоваться для настройки точек данных или для вызова требуемых действий. В качестве примера может быть приведено квитирование алармов, которые были отображены в таблице.

ПРИМЕЧАНИЕ

При использовании истинных цветов (True Color) имеется возможность работы только с мигающим цветом фона ячеек. Анимированный цвет фона для всей таблицы невозможен.

ЗначокПРОЦЕСС СОЗДАНИЯ ТАБЛИЦЫ

  1. Щелкните левой кнопкой мыши по пиктограмме с изображением таблицы  .
  2. Визуально выберите в рабочей области панели точку, в которой будет находиться один из углов таблицы, и переместите курсор мыши в данную точку. Нажмите и удерживайте нажатой левую кнопку мыши. Визуально выберите в рабочей области панели точку, в которой будет находиться противоположный угол таблицы, и, удерживая нажатой левую кнопку мыши, переместите курсор мыши в данную точку. Отпустите кнопку мыши для завершения создания таблицы.
  3. Автоматически откроется Редактор таблиц.

Рисунок: Редактор таблиц, вкладка «Столбцы»

  1. «Всего«: общее количество столбцов в таблице. Первый столбец создается автоматически. Введите следующие данные для первого столбца:
  • «Текущ.«: выбранный в настоящий момент столбец (имя выбранного столбца).
  • «Имя«: новое имя столбца. Для принятия изменений, внесенных в поле «Имя», необходимо нажать кнопку с зеленой «галкой» справа внизу.
  • «Заголов.«: заголовок столбца (поддерживаются многоязычные тексты).
  • «Формат«: формат текста столбца. Для открытия окна выбора формата необходимо нажать кнопку «…». Дополнительная информация о составе строки управления форматом приведена в разделе «Строка управления форматом«.
  • «Ширина«: ширина столбца (количество точек).
  • «видим.«: видимость столбца.
  • редактир.: разрешение/запрещение редактирования содержимого столбца.
  • Подсказ.: текст всплывающей подсказки. В случае многоязычного проекта тексты определяются отдельно для каждого языка проекта (см. также «columnToolTipText» и «namedColumnToolTipText«).  

ЗначокПРИМЕЧАНИЕ

Для обеспечения фактической возможности редактирования таблицы, в данную таблицу необходимо добавить строки при помощи функций «appendLine» или «appendLines«.

Кнопки со значками используются для добавления нового столбца до или после выбранного столбца, а также для удаления или создания элементов.

  1. Щелкните по нижней левой кнопке (кнопке с символом стрелки) для добавления столбца.
  2. Откройте вкладку «Строки«.

Рисунок: Редактор таблиц, вкладка «Строки»

ВНИМАНИЕ

Заголовки строк и строки отображаются только в том случае, если столбец содержит строки, добавленные при помощи сценария. Если заголовки или строки были заданы в редакторе GEDI, но при этом при помощи сценария (например, appendLine) не были добавлены какие-либо строки, то заголовки строк или строки не будут отображены во время выполнения программы. При использовании функции «deleteAllLines», будут удалены все строки, включая их заголовки. При последующем добавлении строк для них будут отображаться тексты заголовка по умолчанию, а не те тексты, которые были указаны в редакторе GEDI.

  1. Введите значения согласно описаниям выше. Задайте высоту строк. Данный параметр может быть введен при отсутствии строк, а также в том случае, если не выбрана ни одна строка.
  2. Откройте вкладку «Общее«.

Рисунок: Редактор таблиц, вкладка «Общее»

  • «Отображение заголовка»: отображение/скрытие заголовков строк или столбцов
  • Ширина: ширина заголовков строк
  • Шрифт: шрифт таблицы
  • Верт. прокрутка / Гориз. прокрутка: правила отображения полос прокрутки.
  • Тип сетки: выпадающий список, содержащий возможные варианты сетки таблицы. Для выбора доступны следующие опции: «Нет» (отсутствие сетки), «Горизонтально и Вертикально» и «Горизонтально» и «Вертикально».
  1. Выберите требуемые опции на вкладке «Общее».
  2. Нажмите кнопку «Закрыть«.

Для изменения таблицы необходимо нажать по кнопку «» свойства «Редактор» в Редакторе свойств.

Также Редактор таблиц может быть открыт путем двойного щелчка левой кнопкой мыши по таблице на панели в режиме редактирования.

Сортировка

При щелчке левой кнопки мыши по заголовку столбца таблицы, открытой в режиме выполнения программы в модуле VISION, выполняется сортировка записей таблицы в соответствии с содержимым ячеек в данном столбце. При сортировке таблицы, в заголовке столбца будет отображена стрелка, указывающая на то, какой столбец был взят в качестве основы для сортировки, а также порядок сортировки.

ПРИМЕР
 

В примере ниже приводится сценарий для создания строк. Для добавления строк в таблицу будет использоваться аргумент «appendLines» (возможно также использование одноименного метода в виде: objectName.appendLines();). Новая таблица не содержит ячеек, они будут создаваться непосредственно при добавлении строк:

main() { setValue(«»,»appendLines», 6 ); }

ПРИМЕР

В примере ниже, значения «appendLine», «updateLine», «appendLines», «updateLines»,»cellValue» второго аргументы могут также использоваться для применения значений переменных типа any_type к ячейкам таблицы с целью изменения свойств ячеек. Данные переменные могут содержать до трех элементов (элементы 2 и 3 являются опциональными. Переменная не должна содержать более трех элементов):

  1. Значение ячейки
  2. Цвет фона ячейки
  3. Цвет рисунка ячейки

Подобным образом одновременно могут быть заданы цвет рисунка и цвет фона таблицы (column1 = первый столбец, column2 = второй столбец).

main() {   dyn_anytype x,y;   x[1]=»abcd»;   x[2]=»[100,0,0]»;   x[3]=»_3DFace»;   y[1]=»test»;   y[2]=»[0,100,0]»;   y[3]=»_3DText»;   setValue(«TABLE2″,»updateLine»,1,»Column1″,x,»Column2″,y); }

Нижеприведенный сценарий обеспечивает удаление выбранной строки. Для решения задачи используются аргументы «currentCell» (текущая ячейка) и «deleteLineN» (удалить строку N). Использование первого аргумента «currentCell» подразумевает возврат результатов работы функции при помощи двух аргументов типа int (целое число), первый из которых соответствует номеру строки, а второй соответствует номеру столбца. Использование аргумента «deleteLineN» подразумевает одновременное использование аргумента типа «int» (целое число), при помощи которого в функцию передается номер подлежащей удалению строки.

main() {   int row, column;   getValue(«», «currentCell», row, column);   setValue(«», «deleteLineN», row); }

ПРИМЕР

Нижеприведенный сценарий представляет собой пример обработки данных, вводимых в ячейку пользователем. Аргументами функции main(), обрабатывающей содержимое ячейки, являются номер строки (тип integer), имя столбца (string), а также данные, введенные пользователем с клавиатуры (также тип string). В том случае, если вводимые данные должны иметь тип, отличный от string, для преобразования может быть использована функция «sscanf()«. В данном примере предполагается обработка целых чисел. Для каждого вводимого значения выполняется преобразование. При неуспешной попытке преобразования выводится текст «Ошибка!». Введенные пользователем и преобразованные при помощи функции work() данные сохраняются в столбце с использованием аргумента «cellValueRC«. Данный аргумент подразумевает использование аргумента с типом int (целое число), который содержит номер строки, а также аргумента с типом данных string (строка), который содержит заголовок столбца ячейки. Содержимое ячейки будет передаваться при помощи третьего аргумента. Функция work() увеличивает введенное пользователем значение на 3.

main(int rowN, string columnN, string input) {    int ok, val;    ok = sscanf(input, «%d», val);    if(ok == 1)    {      int h = work(val);      setValue(«TABLE2», «cellValueRC», rowN, columnN,h);    } else    setValue(«TABLE2″,»cellValueRC»,rowN,columnN,»Ошибка!»); }
int work(int val) {   val = val + 3;   return val; }

ПРИМЕР

Нижеприведенный пример демонстрирует использование таблицы для отображения расходов жидкости через каждый из четырех клапанов, а также суммарный расход. Пример реализован с использованием сценария. Функция «dpConnect()» вызывает функцию «showRate()» при каждом изменении любой из переменных точек данных «VD01.flowrate» — «VD04.flowrate». Функция «showRate()» записывает значения текущих значений (online values) элементов точек данных в столбец «Расход» таблицы.

main() { dpConnect(«showRate»,»VD01.flowrate:_online.._value»,        «VD02.flowrate:_online.._value»,        «VD03.flowrate:_online.._value»,        «VD04.flowrate:_online.._value»);
/* обратите внимание на то, что функция dpConnect должна быть записана в одну строку */ }   showRate(string dp1, int fl1, string dp2, int fl2,string dp3, int fl3, string dp4, int fl4) {    setValue(«», «updateLine», 1, » Клапан «, «VD01″,» расход «, fl1);    setValue(«», «updateLine», 1, » Клапан «, «VD02″,» расход «, fl2);    setValue(«», «updateLine», 1, » Клапан «, «VD03″,» расход «, fl3);    setValue(«», «updateLine», 1, » Клапан «, «VD04″,» расход «, fl4);  setValue(«», «updateLine», 1, » Клапаны «, «всего «,» расход «, fl1+fl2+fl3+fl4);
/* обратите внимание на то, что функция showRate должна быть записана в одну строку */ }

ПРИМЕР

Нижеприведенный сценарий может быть использован для получения номеров строки и столбца ячейки таблицы, выбранной щелчком кнопки мыши:

main(int row, string column, string value) {     DebugN(«Row»,row,»Column»,column); }

ПРИМЕЧАНИЕ

Для ячейки таблицы, редактирование которой запрещено, событие «Clicked» наступает при щелчке кнопкой мыши по ячейке. Для ячейки таблицы, редактирование которой разрешено, событие «Clicked» наступает при нажатии клавиши Ввод (Enter) или при смене ячейки.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *