QUIK 7.25.1.3. Условное форматирование таблиц.

Страницы: 1
RSS
QUIK 7.25.1.3. Условное форматирование таблиц., Желательно, для ячеек выставить по умолчанию "Нет цвета"
 
QUIK 7.25.1.3.  Условное форматирование таблиц.

Приветствую!

При открытии окна условного форматирования для ячеек по умолчанию выставлены параметры  "белый фон, чёрный текст".
В таблице скрипта часто(почти всегда) возникает необходимость выделить цветом или размером шрифта какую-либо ячейку(ки). Причём цветовые установки скрипта не имеют приоритет над форматированием.. я уж не говорю  про возможность задать размер шрифта ячеек в скрипте..
   В 25-й версии приходится ежедневно в каждой таблице вначале выставлять  "Нет цвета", а потом цвет и размер текста...Иначе  -  белый фон, чёрный текст!....    Утомительно..

При форматировании штатных  таблиц Квика нет разницы что там установлено по умолчанию, а при работе со скриптами, как выяснилось, есть.. Прошерстил настройки,  ничего не нашёл..

В предыдущей версии ( не помню уж какая там..  из последних..)  таких заморочек не было..

Нельзя ли как-то вернуть утраченное? :smile:

Заранее благодарен.
 
Здравствуйте.
Пришлите, пожалуйста, скрипт (или часть скрипта) который форматирует по цвету таблицу. Попробуем у себя проверить.
QUIK clients support
 
День добрый!
Код
function Green(Line, Col)  SetColor(t_id, Line, Col, RGB(0,120,0), RGB(255,255,255), RGB(0,120,0), RGB(255,255,255));  end;             -- Зеленый
function Red(Line, Col)  SetColor(t_id, Line, Col, RGB(160,0,0), RGB(255,255,255), RGB(160,0,0), RGB(255,255,255));  end;                 -- Красный

   t_id = AllocTable(); -- Получает доступный id для создания  таблицы
   AddColumn(t_id, 0, "0", true, QTABLE_STRING_TYPE, 12);
   AddColumn(t_id, 1, "1", true, QTABLE_STRING_TYPE , 12);
   AddColumn(t_id, 2, "2", true, QTABLE_STRING_TYPE, 12);
   
   t = CreateWindow(t_id); -- Создает таблицу   
    for i = 1, 4, 1 do  InsertRow(t_id, i);  --  end   
          if i <3 then
           for n = 0, 2, 1 do SetCell(t_id, i, n, "   621");  Green(i,n) end
      else      
           for n = 0, 2, 1 do SetCell(t_id, i, n, "   up");  Red(i, n);  end
       end    
    end
   

Таблица.  Данные статичны.   -  http://prntscr.com/ms7g4t

Выставлено "задано", формат по умолчанию    -   http://prntscr.com/ms7hlj

"не содержит", формат не трогаем   -   http://prntscr.com/ms7j2m

Изменён только размер  шрифта   -  http://prntscr.com/ms7khw

Выставлено "Нет цвета"   -   http://prntscr.com/ms7lvd

Второй вариант форматирования     -  http://prntscr.com/ms7nt0        http://prntscr.com/ms7op8

Код
function Green(Line, Col)  SetColor(t_id, Line, Col, RGB(0,120,0), RGB(255,255,255), RGB(0,120,0), RGB(255,255,255));  end;             -- Зеленый
function Red(Line, Col)  SetColor(t_id, Line, Col, RGB(160,0,0), RGB(255,255,255), RGB(160,0,0), RGB(255,255,255));  end;                 -- Красный

   t_id = AllocTable();
   AddColumn(t_id, 0, "0", true, QTABLE_STRING_TYPE, 12);
   AddColumn(t_id, 1, "1", true, QTABLE_STRING_TYPE , 12);
   AddColumn(t_id, 2, "2", true, QTABLE_STRING_TYPE, 12);
   
   t = CreateWindow(t_id);
    for i = 1, 4, 1 do  InsertRow(t_id, i); end
   
     RUN = true
     function main()                            
     while RUN do  sleep(1000);
   
           SetCell(t_id, 1, 1, "   621");  Green(1,1) 
end 
end 
function OnStop(stop_flag)   
DestroyTable(t_id)
RUN = false
return 1000
end
   

В динамике  аналогично   -  http://prntscr.com/ms7wsa

Надеюсь,  наглядно...  

С Уважением...

 
Здравствуйте, ak56.
Белый фон и чёрный текст при условном форматировании обуславливается тем, что когда Вы задаете условие, то не меняете цвет формата. То есть, Вы задаете, что по какому-то условию размер шрифта в ячейке изменится, но так же изменятся ее цветовые составляющие (цвет фона и цвет текста), так как они заданы по умолчанию. Задав цвет в настройке формата Вы сразу добьетесь необходимого результата.
Однако, можем зарегистрировать пожелание, чтобы по умолчанию цветовые настройки ячейки были "Нет цвета". Регистрируем?
QUIK clients support
 
Здравствуйте!
Видимо я, как всегда, недостаточно ясно изложил свои пожелания..  :smile:
Понятно, что условное форматирование имеет приоритет над форматом ячейки, заданном в скрипте..  и если по умолчанию установлено белое\чёрное, то при его применении, скажем,  изменении только размера текста, мы  будем наблюдать изменение и  цвета -  по умолчанию..
В случае статичной картинки, когда при запуске скрипта один раз выставляется цвет\размер, и  далее не меняется,  то не особенно критично..
Другое дело, когда  картинка динамична..  Пример в скрипте..

Логика установки в усл.форм. ч\б понятна  -  тема чёрно-белая,  НО!
Пользователь, не работающий со скриптами, заходит в усл.форм. специально для того, установить какие-то свои цвета..как раз в этих ячейках. А "продвинутому скриптоману" приходится делать целых ДВА, или четыре лишних движения!  Ежедневно!   :lol: ...   тем более, что у него  УЖЕ  всё раскрашено скриптом!  :lol:

Конечно регистрируем!  Я ж для этого и писал..  :smile:

С Уважением!..
Код
function Green(Line, Col)  SetColor(t_id, Line, Col, RGB(0,120,0), RGB(255,255,255), RGB(0,120,0), RGB(255,255,255));  end;             -- Зеленый
function Green_1(Line, Col)  SetColor(t_id, Line, Col, RGB(0,245,0), RGB(0,0,0), RGB(0,245,0), RGB(0,0,0));  end;                               -- Светло_Зеленый
function Red(Line, Col)  SetColor(t_id, Line, Col, RGB(160,0,0), RGB(255,255,255), RGB(160,0,0), RGB(255,255,255));  end;                 -- Красный

   t_id = AllocTable();
   AddColumn(t_id, 0, "0", true, QTABLE_STRING_TYPE, 12);
   AddColumn(t_id, 1, "1", true, QTABLE_STRING_TYPE , 12);
   AddColumn(t_id, 2, "2", true, QTABLE_STRING_TYPE, 12);
   
    t = CreateWindow(t_id);
    for i = 1, 4, 1 do  InsertRow(t_id, i); end
   
    k = 0
   
     RUN = true
     function main()                            
     while RUN do  sleep(1000);
    
           SetCell(t_id, 1, 1, "   621");   
    if k < 2 then
       Green(1,1)
       k = k + 1
    else 
           Green_1(1,1) 
       k = 0
    end   
         
end 
end 
function OnStop(stop_flag)   
DestroyTable(t_id)
RUN = false
return 1000
end
   

 
Ваше пожелание зарегистрировано.  Мы постараемся рассмотреть его и  сообщить Вам результаты анализа. Впоследствии, по результатам анализа,  будет приниматься решение о реализации пожелания в будущих версиях ПО.
QUIK clients support
 
Благодарю.
 
Если условное форматирование применено ко всей строке, то настройка "Нет цвета" не работает.
 
Здравствуйте, Старатель.
Попробовали воспроизвести на приведенном в этой ветке скрипте. Если задано условное форматирование ко всей строке, то настройка "Нет цвета" работает нормально (ниже в пример приводим скриншоты до и после применения форматирования). Уточните, пожалуйста, какие настройки форматирования выбраны у Вас?
QUIK clients support
 
Я думал "Нет цвета" означает не перекрашивать в белый (или любой другой) цвет.
Это не так? Что же тогда?
 
Здравствуйте, Старатель.
Да, действительно, проблему увидели.
Ваше письмо получено, проблема изучается. Постараемся в ближайшее время дать ответ.
QUIK clients support
Страницы: 1
Читают тему (гостей: 1)
Наверх