В зависимости от значения поля выделить текст строки другим цветом...

Тема в разделе "Lotus - Программирование", создана пользователем endofin, 5 май 2011.

Статус темы:
Закрыта.
  1. endofin

    endofin Гость

    Друзья, подскажите пожалуйста, можно ли замутить такую формулу и как?
    Например в форме есть поле "Тест", которое может принимать фиксированные значения 1, 2 или 3.
    В зависимости от того какое значение выбрано, можно ли выделить текст строки другим цветом в представлении БД?
    Например, если выбрано значение 1 - текст строки в представлении будет синим, если 2 - красным, если 3 - зеленым.
     
  2. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
  3. endofin

    endofin Гость

    nvy - спасибо за ссылку, но у меня не получается, не хватает навыков программирования, скрытый столбец создал с галкой use value as color, но формулу не могу сварганить :(
    xalet - в Вашем сообщении только точка )

    по русски я себе это представляю примерно так:
    если значение поля "Тест" = 1, то закрасить текст строки в цвет 0000ffff,
    если значение поля "Тест" = 2, то закрасить текст строки в цвет dddd0000,
    если значение поля "Тест" = 3, то закрасить текст строки в цвет 0000pppp
     
  4. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    из хелпа:

    Код (Text):
    For example, the following formula example shows how RGB coordinates can be used in both single and paired sets.
    red := 255:0:0;
    blue := 0:0:255;
    yellow := 255:255:0;
    pink := 255:193:253;
    white := 255:255:255;
    black := 1:1:1;
    apricot := 255:155:133;
    plain:= 0:0:0;

    @If (category = "cats";blue:red;subcategory = "collars";pink;subcategory ="leashes";black:plain;0:0:0);
    замените условия category = "cats", subcategory = "collars" и т.д. на свои и цвета подберите.
     
  5. endofin

    endofin Гость

    Спасибо за помощь ) Что-то начало получаться.

    Вот что я написал:
    @If (Event_Cond = "63"; "0000fff"; Event_Cond = "79"; "dddd0000"; Event_Cond = "82"; "0000cccc"; -1 : -1 : -1 : -1 : -1 : -1)

    Текст цвета стал отображаться в колонке, но сам текст не имеет никакого смысла, так как отображает значения "0000fff", "dddd0000", "0000cccc" или "-1 : -1 : -1 : -1 : -1 : -1", мне бы отображать нужные значения например значения того же моего поля Event_Cond...
     
  6. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    У столбца галка "Use value as color" включена? Столбец первый? И, кстати, из справки:
    Note This feature is supported on the Web, but you must supply the RGB coordinates of the color as a number list (e.g. 255:0:255). Text color values (e.g. "FF00FF") are not supported.
     
  7. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    Столбец не обязательно первый должен быть.
    Вообще логика такая. Делается столбец с галкой "Use value as color". Всё что правее этого столбца будет отображаться цветами заданными в столбце. Если сделать как в моем примере выше, то значение цвета blue:red задаст цвета для текста и для фона(фон:текст).

    Код (Text):
    red := 255:0:0;
    blue := 0:0:255;
    yellow := 255:255:0;
    pink := 255:193:253;
    white := 255:255:255;
    black := 1:1:1;
    apricot := 255:155:133;
    plain:= 0:0:0;

    @if(Event_Cond = "63"; white:plain; Event_Cond = "79"; white:blue; Event_Cond = "82"; white:pink; white:black)
     
  8. endofin

    endofin Гость

    nvy и xalet большое спасибо за помощь, у меня все получилось благодаря вашей помощи.

    галка "Use value as color" была включена, но столбец был последний, поэтому цвета были только в этом столбце.
    Перенес столбец в начало и вся строка закрасилась цветом. Цвета у меня понимает только через цифры (например 0:160:0) и текстовые значения (например "0000fff") при попытки ввести в качестве цвета white:plain или white:blue вся строка закрашивается сплошным черным цветом, но это не страшно так как я решил использовать цвета через цифры.

    Мой финальный код:
    @If(Event_Cond = "63"; 255:0:0; Event_Cond = "79"; 0:0:255; Event_Cond = "82"; 0:160:0; -1 : -1 : -1 : -1 : -1 : -1)

    Спасибо что уделили время ))
     
  9. alik86

    alik86 Lotus team
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    0
    0000ff - это не текстовое значение, а числовое (16-чная система счисления).
    А white, plain, blue -- это не цвета, а всего лишь имена переменных, которым таки присвоены "значения цветов".
     
  10. endofin

    endofin Гость

    Спасибо за разъяснение ))
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей