Как разокрасить строку таблицы знчений 1С 8.1
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для того чтобы точно знать какие строки должны быть раскрашены, необходимо соответствующим образом подготовить исходные данные. Т.е. раскрашиваемые строки должны зависеть от отображаемых данных и при изменении порядка вывода строк способ их отображения не должен меняться. Тогда при отображении строк всегда будет получаться ожидаемый результат.
Процедура ДокументСписокПриПолученииДанных(Элемент, ОформленияСтрок)
Для каждого ОформлениеСтроки Из ОформленияСтрок Цикл
Если ОформлениеСтроки.ДанныеСтроки.РаскраситьСтроку Тогда
ОформлениеСтроки.ЦветФона = Новый Цвет(255, 251, 240);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Процедура ДокументСписокПриПолученииДанных(Элемент, ОформленияСтрок)
Для каждого ОформлениеСтроки Из ОформленияСтрок Цикл
Если ОформлениеСтроки.ДанныеСтроки.РаскраситьСтроку Тогда
ОформлениеСтроки.ЦветФона = Новый Цвет(255, 251, 240);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Все это конрешно хорошо, но:
При выводе строкы
А вот процедура кнопкы с формы..
- при нажатии пробела добавляеться следующая строка к выделеным...
Нужно, чтобы эти строки выделялись какимто цветом ну и жырным шрифтом :)
Процедура при активации строки..
Все строки, которые раньше были добавлены к выделеным - снимаються с выдиления, кроме текущей строки.
Ну вот, все сделано кроме последнего. При активации строки выделения пропадають, но цвет не меняеться на тот, которой вказан во второй части ЕСЛИ процедуры Процедура ТЗ11ПриВыводеСтроки
Вопрос актуален... Если что-то непонятно изложил - не обежайте, спрашивайте ;)
При выводе строкы
Процедура ТЗ11ПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
если ЭлементыФормы.ТЗ11.ВыделенныеСтроки.Содержит(ДанныеСтроки) =Истина Тогда
ОформлениеСтроки.Цветтекста = Новый цвет (255,0,0);
ОформлениеСтроки.Шрифт = Новый Шрифт (,,Истина);
Иначе
ОформлениеСтроки.Цветтекста = Новый цвет (0,0,0);
ОформлениеСтроки.Шрифт = Новый Шрифт (,,);
КонецЕсли;
КонецПроцедуры
ПоказатьА вот процедура кнопкы с формы..
Процедура Кнопка2НажатиеПробела(Элемент)
таб =ЭлементыФормы.ТЗ11;
строкаТЗ = таб.Значение.Получить(?(таб.значение.Количество()<=НомерАктивСтр+1,таб.значение.Количество()-1,НомерАктивСтр+1));
таб.ВыделенныеСтроки.Добавить(строкаТЗ);
НомерАктивСтр=НомерАктивСтр+1;
КонецПроцедуры
Показать- при нажатии пробела добавляеться следующая строка к выделеным...
Нужно, чтобы эти строки выделялись какимто цветом ну и жырным шрифтом :)
Процедура при активации строки..
Все строки, которые раньше были добавлены к выделеным - снимаються с выдиления, кроме текущей строки.
Процедура ТЗ11ПриАктивизацииСтроки(Элемент)
таб =ЭлементыФормы.ТЗ11;
НомерАктивСтр= таб.значение.индекс(таб.ТекущаяСтрока);
КонецПроцедуры
Ну вот, все сделано кроме последнего. При активации строки выделения пропадають, но цвет не меняеться на тот, которой вказан во второй части ЕСЛИ процедуры Процедура ТЗ11ПриВыводеСтроки
Вопрос актуален... Если что-то непонятно изложил - не обежайте, спрашивайте ;)
Нужно хранить список выделеных строк, а при выводе строки проверять - есть ли она в списке. Ну, и если есть, то раскрашивать. При нажатии пробела изменять список выделеных строк. Добавлять выбранную строку в список выбранных строк (или убирать). При нажатии кнопки мыши список выделенных строк должен очищаться, а выведенные строки на экране перерисовываться.
Список выделеных строк можно хранить в виде массива или в дополнительной колонке источника данных.
Список выделеных строк можно хранить в виде массива или в дополнительной колонке источника данных.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот