Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Как раскрасить нужный столбец многострочной части в зависимости от условия? (число прочтений - 6055 )
Scorpion23
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 24
Зарегистрирован: 25. Июня 2009
Как раскрасить нужный столбец многострочной части в зависимости от условия?
31. Августа 2009 :: 10:22
Печать  
Нужно в зависимости от того, продукт или блюдо окрашивать столбец "В натуре" или "Масса",тоесть, если в таблице все елементы - продукти , тогда красим "В натуре", если елементы - блюда, красим "Масса". Как это можно сделать? Спасибо.
П.С. Всю таблицу красить получаеться, есть колонка типа текст, где описана ф-ция ВернутьЦвет()
  

__________1.bmp ( 300 KB | Загрузки )
__________1.bmp
Наверх
 
IP записан
 
kriblya
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 313
Зарегистрирован: 24. Декабря 2007
Re: Как раскрасить нужный столбец многострочной части в зависимости от условия?
Ответ #1 - 31. Августа 2009 :: 11:57
Печать  
смотри в сторону INDENT в строке раскраски
  
Наверх
 
IP записан
 
Scorpion23
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 24
Зарегистрирован: 25. Июня 2009
Re: Как раскрасить нужный столбец многострочной части в зависимости от условия?
Ответ #2 - 31. Августа 2009 :: 12:02
Печать  
Функция ВернутьЦвет()
  Стр    = "FONT["+ПолучитьЦвет(0,0,0)+"] BRUSH["+ПолучитьЦвет(242,238,196)+"]BRUSH_S["+ПолучитьЦвет(218,218,218)+"]FONT_S["+ПолучитьЦвет(0,0,0)+"]FONTSET_S["+шрифт+"] COUNT[12]";
     Возврат Стр;
КонецФункции
я так понимаю что 2 раза использовать INDENT[] или COUNT[] нельзя?
  
Наверх
 
IP записан
 
kriblya
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 313
Зарегистрирован: 24. Декабря 2007
Re: Как раскрасить нужный столбец многострочной части в зависимости от условия?
Ответ #3 - 31. Августа 2009 :: 12:09
Печать  
COUNT[<КоличествоКолонок>] - задает количество колонок, на которые распространяется раскраска;
INDENT[<Отступ>] - задает количество колонок, которое необходимо пропустить перед началом раскраски;
  
Наверх
 
IP записан
 
kriblya
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 313
Зарегистрирован: 24. Декабря 2007
Re: Как раскрасить нужный столбец многострочной части в зависимости от условия?
Ответ #4 - 31. Августа 2009 :: 12:13
Печать  
Если твоя невидимая колонка стоит перед "В натуре" то:
Функция ВернутьЦвет()
если продукт тогда
Стр    = "FONT["+ПолучитьЦвет(0,0,0)+"] BRUSH["+ПолучитьЦвет(242,238,196)+"]BRUSH_S["+ПолучитьЦвет(218,218,218)+"]FONT_S["+ПолучитьЦвет(0,0,0)+"]FONTSET_S["+шрифт+"] INDENT[1] COUNT[1]";
иначе
Стр    = "FONT["+ПолучитьЦвет(0,0,0)+"] BRUSH["+ПолучитьЦвет(242,238,196)+"]BRUSH_S["+ПолучитьЦвет(218,218,218)+"]FONT_S["+ПолучитьЦвет(0,0,0)+"]FONTSET_S["+шрифт+"] INDENT[2] COUNT[1]";

   Возврат Стр;
КонецФункции
  
Наверх
 
IP записан
 
Scorpion23
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 24
Зарегистрирован: 25. Июня 2009
Re: Как раскрасить нужный столбец многострочной части в зависимости от условия?
Ответ #5 - 31. Августа 2009 :: 12:20
Печать  
Да, спасибо, уже разобрался
  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: Как раскрасить нужный столбец многострочной части в зависимости от условия?
Ответ #6 - 01. Сентября 2009 :: 05:29
Печать  
Несоветую использовать старый метод.
1.Фиговатенько.
2.Тормоза.
Используй новый метод раскраски.
Там ненадо извращаться с идентом.
Все намного проще и работает намного лучше.
  
Наверх
 
IP записан
 
Scorpion23
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 24
Зарегистрирован: 25. Июня 2009
Re: Как раскрасить нужный столбец многострочной части в зависимости от условия?
Ответ #7 - 01. Сентября 2009 :: 05:41
Печать  
Если честно, я не знаю про новый метод. Можно по подробнее?
  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: Как раскрасить нужный столбец многострочной части в зависимости от условия?
Ответ #8 - 01. Сентября 2009 :: 05:52
Печать  
План раскраски
Описание
Для ускорения и упрощения работы раскраски таблиц в компоненту с версии 2.0.5.85 введен функционал плана раскраски таблицы. Для его активизации необходимо вызвать метод ИспользоватьПланРаскраски() объекта Сервис с параметром 1 (соответсвенно, для отключения и перехода на старый принцип раскраски надо вызвать тот же метод, но с параметром 0). По умолчанию функционал плана раскраски отключен и работает старая методика раскраски.
Для реализации раскраски по новому функционалу плана раскраски, необходимо добавить в раскрашиваемую таблицу колонку с заголовком "FormEx_ПланРаскраски" (без кавычек, регистронезависимо). Колонка может располагаться в любом месте таблицы. Содержимое этой колонки задает план раскраски таблицы, основанный на тех же макросах, которые описаны в части "Раскраска таблиц". При этом макросы COUNT и INDENT не обрабатываются. В плане раскраски каждая ячейка текущей строки определяется круглыми скобками. В плане учитываются как видимые, так и невидимые колонки. Макросы раскраски надо помещать в места, соответсвующие смене раскраски. Несколько примеров помогу лучше понять этот принцип.
Пример плана раскраски
"()()()(BRUSH[255])()()(BRUSH[NONE)" - обозначает, что начиная с четвертой колонки (включительно) цвет фона ячеек устанавливается красным, а с седьмо раскраска фона отключается и все остальные колонки не раскрашиваются;
"(BRUSH_S[255])" - обозначается, что вся строка, когда она становится текущей, подсвечивается красным фоном.

Это вырезка из описания.

И при таком раскладе ненадо использовать INDENT и COUNT
причем у INDENT есть маленькие глюки.
  
Наверх
 
IP записан
 
Scorpion23
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 24
Зарегистрирован: 25. Июня 2009
Re: Как раскрасить нужный столбец многострочной части в зависимости от условия?
Ответ #9 - 01. Сентября 2009 :: 05:55
Печать  
Большое спасибо за подробное описание!
  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: Как раскрасить нужный столбец многострочной части в зависимости от условия?
Ответ #10 - 01. Сентября 2009 :: 05:59
Печать  
Ну а строку раскраски можно в принципе и программно сделать, это уже дело каждого индивидуально.
  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: Как раскрасить нужный столбец многострочной части в зависимости от условия?
Ответ #11 - 01. Сентября 2009 :: 08:02
Печать  
Тама со старой раскраской был глючек не приятный.
на раскрашенной ячейке небыло видно что она активная, а на новой все пучком.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать