|
Как выделить цветом строку табличного поля при активизации ячейки |
☑ |
0
go1c
13.06.12
✎
20:52
|
Подскажите пожалуйста как можно реализовать следующий "бантик":
Есть табличное поле обычной формы, РежимВыделенияСтроки - Ячейка, как сделать так чтобы при активации любой ячейки выделялась каким-то цветом вся строка (реализовано на уровне платформы в управляемых формах). Менять РежимВыделенияСтроки на Строка не вариант так как при копировании в буфер значения колонки копируется вся строка.
|
|
1
oleg_prg
13.06.12
✎
21:55
|
Первое что пришло в голову - это ввести скрытое поле в таблицу.
При активизации строки ставить туда некое значение - например цифру 1
Затем делать по этому признаку раскраску, код раскраски ниже
ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
ОформляемоеПоле = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("ДанныеТЗПоле2");
ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДанныеТЗ.Поле2");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Содержит;
ЭлементОтбора.ПравоеЗначение = "1";
ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Желтый);
Может как-нибудь вот так...
|
|
2
oleg_prg
13.06.12
✎
21:56
|
Естественно при смене строки обнулять значение скрытого поля
|
|
3
Vladal
13.06.12
✎
22:34
|
Некрасиво это — полистал строки, а тебе модифицированность формы.
Надо в ПриОтображенииСтроки или ОформленииСтроки перебирать коллекцию колонок и каждой колонке текущей строки менять цвет.
Пример дать н могу, пишу с телефона.
|
|
4
DrShad
13.06.12
✎
22:38
|
(0) я что-то так и не понял у тебя то какой режим?
|
|
5
go1c
13.06.12
✎
22:57
|
(4)у меня обычные формы. в управляемых отрабатывает по умолчанию (ячейка выделяется синим, а строка голубоватым), нужно сделать аналогично.
|
|
6
DrShad
13.06.12
✎
23:01
|
текущаястрока?
|
|
7
go1c
14.06.12
✎
00:10
|
|
|
8
Vladal
14.06.12
✎
09:55
|
(7) т.е. ты уже нашел ответ?
|
|
9
go1c
14.06.12
✎
10:34
|
(8)да, спасибо всем за помощь. сделал так:
Процедура РаботыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
Если Элемент.ТекущаяСтрока = ДанныеСтроки Тогда
ОформлениеСтроки.ЦветФона = WebЦвета.Розовый;
КонеЦЕсли;
КонецПроцедуры
Процедура РаботыПриАктивизацииСтроки(Элемент)
Элемент.ОбновитьСтроки();
КонецПроцедуры
|
|