Difference between revisions of "Table.Levels.Add"
m (1 revision imported) |
|
(No difference)
| |
Latest revision as of 07:53, 7 February 2021
| Add (Работа с уровнями) | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||
Функция добавляет визуальный уровень к текущему, либо к одному из детей текущего уровня, если начальная и конечная позиции располагаются полностью внутри дочернего уровня. Если уровень полностью вмещает один или более существующих уровней, они становятся его дочерними уровнями. Внимание: Объект уровня таблицы является псевдообъектом и хранит в себе набор индексов с начального уровня до текущего. Это означает, что добавление или удаление уровней может изменить индексацию объектов и сделать все существующие объекты адресуемых уровней недействительными. Объекты могут адресовать совсем другие уровни, либо вызывать исключение при обращении, поэтому, не рекомендуется хранить или передавать в другие функции такие объекты.
Синтаксис
Table.Levels.Add(<Направление уровня (INT)>,<Начальная позиция уровня (INT)>,<Конечная позиция уровня (INT)>)
Аргументы
<Направление уровня (INT)>- Аргумент задает положение итогов добавляемого уровня, возможны следующие значения:- 0 -- итоги располагаются в начале уровня (в левом столбце для горизонтальных уровней, в верхней строке для вертикальных)
- 1 -- итоги располагаются в конце уровня (в правом столбце для горизонтальных уровней, в нижней строке для вертикальных)
<Начальная позиция уровня (INT)>- Номер начальной строки или столбца уровня.<Конечная позиция уровня (INT)>- Номер конечной строки или столбца уровня.
Примеры
//Пример добавления вертикальных уровней в таблицу Т
//Несмотря на то, что сначала добавляются уровни со строками "v4", в момент добавления уровней со строками "v3", уровни "v4" становятся дочерними.
While З.Next(1) Do
...
//Вывод уровня 1
Т.CopyByX("v2",1);
...
//Запомним высоту строки "v2" уровня 1
НачВыс:=Т.Height();
While З.Next(2) Do
...
//Вывод уровня 2
Т.CopyByX("v3",1);
...
//Запомним высоту строки "v3" уровня 2
НачВыс2:=Т.Height();
While З.Next(3) Do
...
//Вывод уровня 3
Т.CopyByX("v4",1);
...
EndDo;
//Добавим вертикальный уровень, в который будет складываться строки "v4"
Т.Levels(0).Add(0,НачВыс2,Т.Height());
EndDo;
//Добавим вертикальный уровень, в который будет складываться строки "v3"
Т.Levels(0).Add(0,НачВыс,Т.Height());
EndDo;
//Закроем добавленные уровни (кроме строк "v2") перед выводом таблицы на экран
Т.Levels(0).Close();