Difference between revisions of "Студия/OnShowLine"
(Created page with "{{infobox function |name=OnShowLine |element=Таблица значений |caption=Визуальные события |eventtype=Прерывающее |status=2}} {{HeadL...") |
m (1 revision imported) |
(No difference)
| |
Latest revision as of 07:55, 7 February 2021
| OnShowLine (Визуальные события) | |||||||
|---|---|---|---|---|---|---|---|
| |||||||
Событие, вызываемое для начальной инициализации строк, выводящихся на экран. Не будет вызвано, если задано событие OnInitLine. Используется для заполнения полей, не принадлежащих базе данных, а также любых других изменений. В отличие от OnInitLine, событие выполняется для строк, выводящихся на экран, а не для всех загруженных строк. Это может ускорить вывод таблицы, но замедлить навигацию в ней, что выгоднее для больших таблиц, не связанных с базой данных или строчных частей, имеющих большое количество строк. Ниже приведена последовательность и описана разница между событиями, выполняющимися после обновления таблицы и использующимися для заполнения ячеек таблицы или изменения их визуальных свойств:
- OnInitLine -- выполняется сразу для всего диапазона загруженных в буфер новых строк. Используется как для заполнения значений ячеек, так и для изменения их визуальных свойств.
- OnShowLine -- выполняется для диапазона новых строк, выводящихся на экран. Рекомендуется для больших таблиц, особенно не связанных с базой данных. Может вызываться несколько раз по мере того, как пользователь просматривает содержимое таблицы. Используется как для заполнения значений ячеек, так и для изменения их визуальных свойств.
- OnGetCellVisualProperties -- выполняется для новых строк, выводящихся на экран, вызывается для каждого столбца каждой строки. Для больших таблиц может замедлить обновление. Обычно используется только для изменения визуальных свойств ячейки.
Аргументы
<IndexFrom (INT)>- Переменная задает индекс начальной строки таблицы, которая требует инициализации.<IndexTo (INT)>- Переменная задает индекс конечной строки таблицы, которая требует инициализации.
Примеры
//Пример обработчика OnShowLine, задающего визуальные свойства ячеек и строк
MainTab:=Form.оТабОтчет.Value;
aEl:=Form.Object;
aTab:=aEl.LineParts("СтрокиОтчета");
For i:=IndexFrom to IndexTo Do
MainTab.CurLine:=i;
aTab.CurLine:=i;
MainTab.Icon(i,"Icon",?(aTab.типСтроки=0,122,?(aTab.типСтроки=1,220,223)));
If aTab.типКоэффициента=1 Then
MainTab.BackgroundColor(i,"Коэффициент",MixColors(_CLR_WINDOW,_CLR_RED,15));
MainTab.BackgroundColor(i,"Шифр",MixColors(_CLR_WINDOW,_CLR_RED,15));
MainTab.BackgroundColor(i,"НомерСекции",MixColors(_CLR_WINDOW,_CLR_RED,15));
EndIf;
If aTab.типСтроки>0 Then
MainTab.FontStyle(i,"Коэффициент",1);
MainTab.FontStyle(i,"Шифр",1);
MainTab.FontStyle(i,"НомерСекции",1);
Else
MainTab.FontStyle(i,"Коэффициент",0);
MainTab.FontStyle(i,"Шифр",0);
MainTab.FontStyle(i,"НомерСекции",0);
EndIf;
MainTab.Коэффициент:=?(aTab.типКоэффициента<>1,aTab.Коэффициент,aTab.КоэффициентСтрока);
Enddo;