![]() |
|
v7: Раскраска формэксом | ☑ | ||
---|---|---|---|---|
0
Ganiev
12.04.13
✎
07:13
|
Раскрашиваю многострочную часть во внешней обработке с помощью "Formex"
Получается подсветить только текущую строку! как раскрасить всю таблицу а не только тек. строку! вот код: Функция ПолучитьЦвет(Красный = 0,Зеленый = 0,Синий = 0) Экспорт Возврат Макс(0,Синий)*65536+Макс(0,Зеленый)*256+Макс(0,Красный); КонецФункции Функция ПроверитьВид() Возврат "(BRUSH_S["+ПолучитьЦвет(254,135,118)+"])()";//Только строка КонецФункции//ПроверитьВид() Процедура ПриОткрытии() Попытка //Попробую узнать загружена ли компонента Сервис = СоздатьОбъект("Сервис"); Сервис.ВключитьРаскраскуТаблиц(0); Сервис.ИспользоватьПланРаскраски(1); Загружена = 1; Исключение Если ЗагрузитьВнешнююКомпоненту("formex.dll")=0 Тогда Загружена = 0; Иначе Сервис = СоздатьОбъект("Сервис"); Сервис.ВключитьРаскраскуТаблиц(0); Сервис.ИспользоватьПланРаскраски(1); Загружена = 2; КонецЕсли; КонецПопытки; Если Загружена = 0 Тогда Предупреждение("Не удалось загрузить внешнюю компоненту FormEx.",10); СтатусВозврата(0); Возврат; ИначеЕсли Загружена = 1 Тогда Сообщить("Formex.dll загружена больше не загружаю"); ИначеЕсли Загружена = 2 Тогда Сообщить("Загружен Formex.dll"); КонецЕсли; ТЗ.НоваяКолонка("Первая"); ТЗ.НоваяКолонка("Вторая"); ТЗ.НоваяКолонка("Третья"); ТЗ.НоваяКолонка("FormEx_ПланРаскраски"); ТЗ.НоваяСтрока(); ТЗ.FormEx_ПланРаскраски=ПроверитьВид(); ТЗ.ВидимостьКолонки("FormEx_ПланРаскраски",0,); КонецПроцедуры//ПриОткрытии() Процедура ПослеОткрытия() ФормаРасш = СоздатьОбъект("РасширениеФормы"); ФормаРасш.РаскрашиватьТаблицу("ТЗ"); КонецПроцедуры//ПослеОткрытия() Процедура Сформировать() к = 0; ТЗ.КоличествоСтрок(к); Для к = 1 по 20 Цикл ТЗ.НоваяСтрока(); ТЗ.Первая=к; ТЗ.Вторая=к+1; ТЗ.Третья=к+2; ТЗ.FormEx_ПланРаскраски=ПроверитьВид(); КонецЦикла; КонецПроцедуры//Сформировать() |
|||
1
big
12.04.13
✎
07:25
|
надо, чтобы у колонки был ЗАГОЛОВОК "FormEx_ПланРаскраски"
т.е. вот так: тз.НоваяКолонка("Цвет","Строка",,,"FormEx_ПланРаскраски"); и строка цвета должна описывать цвет каждой ячейки. ну, и на всякий случай локСервис=СоздатьОбъект("Сервис"); локСервис.ВключитьРаскраскуТаблиц(); локСервис.ИспользоватьПланРаскраски(1); |
|||
2
Ganiev
12.04.13
✎
07:32
|
(1) Задал жестко заголовок- не помогло
и строка цвета должна описывать цвет каждой ячейки. --- Не понял Что ты имеешь ввиду можно подробнее? |
|||
3
Ganiev
12.04.13
✎
07:46
|
Есть еще варианты?
|
|||
4
Ёпрст
гуру
12.04.13
✎
08:50
|
Процедура ПослеОткрытия()
Сервис = СоздатьОбъект("Сервис"); Сервис.ИспользоватьПланРаскраски(1); Сервис.ВключитьРаскраскуТаблиц(1); РасшФормы= СоздатьОбъект("РасширениеФормы"); РасшФормы.УстановитьФорму(Форма); // РасшФормы.РаскрашиватьТаблицу("МногострочнаяЧасть"); РасшФормы.РаскрашиватьТаблицу("ТЗ"); КонецПроцедуры |
|||
5
Ёпрст
гуру
12.04.13
✎
08:50
|
ну и формекс последний желательно
|
|||
6
mikecool
12.04.13
✎
08:55
|
а устанавливать параметры раскраски для каждой строки не ?
|
|||
7
Ganiev
12.04.13
✎
12:18
|
(4) Все равно раскрашивает только текущую строку! Формек Версии 2.0.5.99 1срр версии: 3.2.3.1
|
|||
8
Ёпрст
гуру
12.04.13
✎
12:22
|
(7) ясен пень!
BRUSH_S - это подсветка ТЕКУЩЕЙ строки |
|||
9
Ganiev
12.04.13
✎
12:46
|
(8)А а а блин точно вот я послепошарый! СПС!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |