|
8.2 Изменить цвет фона текущей строки в динамическом списке с произвольным запросом | ☑ | ||
|---|---|---|---|---|
|
0
detec
07.10.10
✎
18:05
|
Приветствую!
Использую динамический список с произвольным запросом для подбора добавляемых в форму-владелец значений. Хотелось бы подкрашивать уже выбранные строки. Я добавил для этого в запрос динамического списка поле с типом "Булево", после выбора успешно меняю его значение, флажок после обновления отображения появляется. Но не получается добраться до изменения цвета фона строки. Кто-то знает, как это сделать? |
|||
|
1
Композитор
07.10.10
✎
18:07
|
||||
|
2
detec
07.10.10
✎
18:13
|
(1) Спасибо. Эту настройку я, естественно сделал. Но она выставляет раскраску в момент создания формы и считывания данных запросом. А я изменяю значение поля динамического списка в самой форме. И, к примеру, если я интерактивном выполняю стандартную команду "Обновить" для динамического списка, то все мои флажки слетают. Т.е. должен быть какой-то иной метод.
|
|||
|
3
detec
07.10.10
✎
18:19
|
Кстати, проверил в демоконфигурации "Управляемое приложение" - там при подборе товары не раскрашиваются.
|
|||
|
4
Композитор
07.10.10
✎
18:24
|
(2) странно. Если условие раскраски строки определяется значением изменяемого поля, то строка должна окрашиваться после изменения значения этого поля.
|
|||
|
5
detec
07.10.10
✎
18:36
|
(4) В том-то и дело. Я решил переделывать это дело, вставил в форму реквизит с типом "Таблица значений", чтобы значение флажка никуда не пропадало, по крайней мере.
|
|||
|
6
detec
07.10.10
✎
18:53
|
Офигеть, похоже, что можно достучаться только до поля таблицы, т.е. раскрасить ячейку или строку на клиенте - нереально. Или реально?...
|
|||
|
7
detec
08.10.10
✎
10:08
|
Кто-нибудь работал с этим? Есть примеры рабочего кода?
Расширение данных строки для динамического списка (Row data extension for dynamic list) Расширение данных строки для динамического списка (Row data extension for dynamic list) Свойства: <Имя колонки>ОформлениеЯчейки (<Имя колонки>CellAppearance) Описание: Дополнительные свойства данных строки таблицы динамического списка, когда в списке задано условное оформление. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент. |
|||
|
8
detec
08.10.10
✎
12:26
|
Готов рабочий код для ячейки!
&НаКлиенте Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) // Дёргаем процедуру формы-владельца. ВладелецФормы.ОбработатьВыборТранспондера(Элементы.Список.ТекущиеДанные); // Меняем состояние флажка. Элементы.Список.ТекущиеДанные.Добавлено = истина; // Находим текущую строку. ТекСтрока = Элементы.Список.ТекущаяСтрока; // Получаем текущую строку. Данные = Элементы.Список.ДанныеСтроки(ТекСтрока); // Присваиваем цвет Данные.ТранспондерОформлениеЯчейки.ЦветФона = WebЦвета.БледноЗолотистый; // включаем цвет, иначе ничего не отобразится. Данные.ТранспондерОформлениеЯчейки.ИспользованиеЦветаФона = Истина; // Обновляем отображение именно формы, чтобы флажок отобразился. ЭтаФорма.ОбновитьОтображениеДанных(); КонецПроцедуры |
|||
|
9
detec
08.10.10
✎
13:00
|
Рабочий код для всей строки.
&НаКлиенте Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) // Дёргаем процедуру формы-владельца. ВладелецФормы.ОбработатьВыборТранспондера(Элементы.Список.ТекущиеДанные); // Меняем состояние флажка. Элементы.Список.ТекущиеДанные.Добавлено = истина; СтруктураДанных = Элементы.Список.ТекущиеДанные; // Обходим все ячйеки в строке Для Каждого Элемент Из Элементы Цикл // Ищем поля формы Если ТипЗнч(Элемент) = Тип("ПолеФормы") Тогда ИмяПоля = Элемент.Имя; Элементы.Список.ТекущиеДанные[ИмяПоля + "ОформлениеЯчейки"].ЦветФона = WebЦвета.БледноЗолотистый; Элементы.Список.ТекущиеДанные[ИмяПоля + "ОформлениеЯчейки"].ИспользованиеЦветаФона = Истина; КонецЕсли; КонецЦикла; // Обновляем отображение именно формы, чтобы флажок отобразился. ЭтаФорма.ОбновитьОтображениеДанных(); КонецПроцедуры |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |