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
 
Цитата
Старатель написал:
Я думал "Нет цвета" означает  не перекрашивать  в белый (или любой другой) цвет.
Это не так? Что же тогда?
Добрый день,

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

Приносим извинения за причиненные неудобства.
 
Добрый день, Старатель!
   
    Обнаруженная Вами ошибка была исправлена в выпущенной версии     Рабочего места QUIK 8.1.
QUIK clients support
 
Цитата
Alexander Kopyatkevich написал:
Обнаруженная Вами ошибка была исправлена в выпущенной версии     Рабочего места QUIK 8.1.
Так а что исправили-то можете объяснить?


Форматирование отличается только галкой "применить ко всей строке".
Хотим отформатировать только шрифт, фон оставить, как есть.

В первом случае цвет фона остаётся, т.е. зелёный, как был задан из скрипта.
Во втором случае цвет фона из красного перекрашивается в белый.
 
Здравствуйте, Старатель!

Ваше письмо получено, проблема изучается. Постараемся в ближайшее время дать ответ.
QUIK clients support
 
Цитата
Старатель написал:
Цитата
Alexander Kopyatkevich написал:
Обнаруженная Вами ошибка была исправлена в выпущенной версии     Рабочего места QUIK 8.1.
Так а что исправили-то можете объяснить?

 
Форматирование отличается только галкой "применить ко всей строке".
Хотим отформатировать только шрифт, фон оставить, как есть.

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

Мы обнаружили причину проблемы и постараемся исправить ее в ближайших  версиях.
Приносим извинения за доставленные неудобства.
 
В настройках шрифтов («Программа» / «Шрифты») указан шрифт Tahoma.
При выборе условного форматирования эти настройки игнорируются, стоит по-умолчанию другой шрифт (Arial). Приходится дополнительно ещё указывать нужный шрифт и размер.
 
Старатель, добрый день.
Можем предложить зарегистрировать пожелание- что бы шрифт в условном форматировании подставлялись  такие же, какие настроены в Программа/Шрифты. Регистрируем?
 
Регистрируем
 
Цитата
Старатель написал:
Регистрируем
Здравствуйте!

Ваше пожелание зарегистрировано.  Мы постараемся рассмотреть его и  сообщить Вам результаты анализа. Впоследствии, по результатам анализа,  будет приниматься решение о реализации пожелания в будущих версиях ПО.
 
Цитата
Egor Zaytsev написал:
Цитата
Старатель написал:
 
Цитата
Alexander Kopyatkevich  написал:
Обнаруженная Вами ошибка была исправлена в выпущенной версии     Рабочего места QUIK 8.1.
 Так а что исправили-то можете объяснить?

 
Форматирование отличается только галкой "применить ко всей строке".
Хотим отформатировать только шрифт, фон оставить, как есть.

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

Мы обнаружили причину проблемы и постараемся исправить ее в ближайших  версиях.
Приносим извинения за доставленные неудобства.
Добрый день,
     
      Ошибка, описанная в данном инциденте, была исправлена в версии       8.2.0 терминала QUIK.
      Рекомендуем вам обновить версию программы.
     
      Приносим извинения за причиненные неудобства.
 
Код
function main()
  local id = AllocTable()
  AddColumn(id, 1, 'QTABLE_STRING_TYPE', true, QTABLE_STRING_TYPE, 30)
  AddColumn(id, 2, 'QTABLE_INT_TYPE', true, QTABLE_INT_TYPE, 25)
  CreateWindow(id)

  local row = InsertRow(id, -1)
  SetCell(id, row, 1, 'задано')
  SetCell(id, row, 2, '0', 0)

  row = InsertRow(id, -1)
  SetCell(id, row, 1, '')

  row = InsertRow(id, -1)
  SetCell(id, row, 2, '')
end


Как сделать, чтобы условие «задано» корректно работало для числовых ячеек?
 
Цитата
Старатель написал:
Как сделать, чтобы условие «задано» корректно работало для числовых ячеек?

К сожалению такой возможности не предусмотрено
Страницы: 1
Читают тему (гостей: 1)
Наверх