2 / 2 / 1
Регистрация: 13.09.2019
Сообщений: 134

Раскрашивание ячеек таблицы в зависимости от условий (красный, зеленый)

28.10.2019, 16:57. Показов 2279. Ответов 8

Студворк — интернет-сервис помощи студентам
Ребята. помогите написать условие:
если setting_kind_code, bool_value, is_default не совпадают между собой то подсвечивать поле красным если совпадают то зеленным.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/env python3
print("Content-type: text/html\n")
import cgi
import cx_Oracle
form = cgi.FieldStorage()
#Значение из полей для стенда 1
text1 = form.getfirst("stand1", "Не задан")
text2 = form.getfirst("day1", "Не задан")
text3 = form.getfirst("month1", "Не задан")
text4 = form.getfirst("year1", "Не задан")
text5 = text4+text3+text2
#Значение из полей для стенда 2
text6 = form.getfirst("stand2", "Не задан")
text7 = form.getfirst("day2", "Не задан")
text8 = form.getfirst("month2", "Не задан")
text9 = form.getfirst("year2", "Не задан")
text10 = text9+text8+text7
conn=cx_Oracle.connect('Поключение')
cur=conn.cursor()
cur.execute("select filename AS STAND,setting_code,setting_kind_code,created_by,date_from,bool_value, is_default,substr(loadid,1,8) AS loadid from %s where loadid like '%%%s%%' union all select filename AS STAND,setting_code,setting_kind_code,created_by,date_from,bool_value, is_default,substr(loadid,1,8) AS loadid from %s where loadid like'%%%s%%' order by setting_code" % (text1, text5, text6, text10)) 
print("<table style='border: 1px solid white;  margin: auto; font-family: Georgia, Times New Roman, Times, serif;font-size:10pt'>")
print ("<tn><th style='background:blue; color:white'>STAND</th><th style='background:blue; color:white'>SETTING_CODE</th><th style='background:blue; color:white'>SETTING_KIND_CODE</th><th style='background:blue; color:white'>CREATED_BY</th><th style='background:blue; color:white'>DATE_FROM</th><th style='background:blue; color:white'>BOOL_VALUE</th><th style='background:blue; color:white'>IS_DEFAULT</th><th style='background:blue; color:white'>LOADID</th></tn>")
for row in cur.fetchall():
    print('<tr>')
    for i in row:
        print("<td style='background:Gainsboro; color:black; font-family: Georgia, Times New Roman, Times, serif;font-size:10pt'>%s</td>" % i)
    print('</tr>')
print('</table>')
cur.close()
conn.close()
Миниатюры
Раскрашивание ячеек таблицы в зависимости от условий (красный, зеленый)  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.10.2019, 16:57
Ответы с готовыми решениями:

Раскрашивание ячеек в зависимости от значения
Что не так с этим кодом? table3.setDefaultRenderer(Object.class, new DefaultTableCellRenderer() { @Override ...

Светофор работает в следующем режиме: красный-жёлтый-зелёный-жёлтый-красный-жёлтый и т.д. Лампочки в светофоре не вечные
Светофор работает в следующем режиме: красный-жёлтый-зелёный-жёлтый-красный-жёлтый и т.д. Лампочки в светофоре не вечные и иногда...

Как при загрузке формы задать цвет шрифта ячеек DGV для "да" - зеленый, для "нет" - красный
Всем привет, подскажите как реализовать следующую задачу: DGV заполняется из файла exl В колонке №6 от 1-100 строк со значениями...

8
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
28.10.2019, 17:19
А в чём проблема? Что написать в if?
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
28.10.2019, 17:29
Python
1
2
3
4
5
6
bg = 'red' if 1 == 1 else 'green'
print('''<td style="background:Gainsboro;
color: black;
background-color: {bg};
font-family: Georgia, Times New Roman, Times, serif;
font-size: 10pt">{text}</td>'''.format(bg=bg, text=i))
Добавлено через 3 минуты
Хотя лучше сделать отдельный css.

CSS
1
2
3
4
5
6
7
8
9
10
11
12
tr {
   /*background:Gainsboro;*/
   color: black;
   font-family: Georgia, Times New Roman, Times, serif;
   font-size: 10pt;
}
.red {
   background-color: red;
}
.green {
   background-color: green;
}
(выводить перед таблицей внутри тега <style>)

Добавлено через 42 секунды
Тогда код сократится до
Python
1
2
bg = 'red' if 1 == 1 else 'green'
print('''<td class="{bg}">{text}</td>'''.format(bg=bg, text=i))
0
2 / 2 / 1
Регистрация: 13.09.2019
Сообщений: 134
28.10.2019, 19:05  [ТС]
Верно, я понял или не так вставляю?
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/env python3
print("Content-type: text/html\n")
import cgi
import cx_Oracle
form = cgi.FieldStorage()
#Значение из полей для стенда 1
text1 = form.getfirst("stand1", "Не задан")
text2 = form.getfirst("day1", "Не задан")
text3 = form.getfirst("month1", "Не задан")
text4 = form.getfirst("year1", "Не задан")
text5 = text4+text3+text2
#Значение из полей для стенда 2
text6 = form.getfirst("stand2", "Не задан")
text7 = form.getfirst("day2", "Не задан")
text8 = form.getfirst("month2", "Не задан")
text9 = form.getfirst("year2", "Не задан")
text10 = text9+text8+text7
conn=cx_Oracle.connect('LOGIN/PASSWORD@10.0.0.1/TEM')
cur=conn.cursor()
cur.execute("select filename AS STAND,setting_code,setting_kind_code,created_by,date_from,bool_value, is_default,substr(loadid,1,8) AS loadid from %s where loadid like '%%%s%%' union all select filename AS STAND,setting_code,setting_kind_code,created_by,date_from,bool_value, is_default,substr(loadid,1,8) AS loadid from %s where loadid like'%%%s%%' order by setting_code" % (text1, text5, text6, text10)) 
print("<table style='border: 1px solid white;  margin: auto; font-family: Georgia, Times New Roman, Times, serif;font-size:10pt'>")
print ("<tn><th style='background:blue; color:white'>STAND</th><th style='background:blue; color:white'>SETTING_CODE</th><th style='background:blue; color:white'>SETTING_KIND_CODE</th><th style='background:blue; color:white'>CREATED_BY</th><th style='background:blue; color:white'>DATE_FROM</th><th style='background:blue; color:white'>BOOL_VALUE</th><th style='background:blue; color:white'>IS_DEFAULT</th><th style='background:blue; color:white'>LOADID</th></tn>")
for row in cur.fetchall():
    print('<tr>')
    for i in row:
        bg = 'red' if 1 == 1 else 'green'
    print('''<td style="background:Gainsboro;color: black;background-color: {bg};font-family: Georgia, Times New Roman, Times, serif;font-size: 10pt">{text}</td>'''.format(bg=bg, text=i))
    print('</tr>')
print('</table>')
cur.close()
conn.close()
Добавлено через 10 минут
Результат не совсем тот:
STAND SETTING_CODE SETTING_KIND_CODE CREATED_BY DATE_FROM BOOL_VALUE IS_DEFAULT LOADID
20191020
20191020
20191020
20191020
20191020
20191020
20191020
20191020
20191020
20191020

ячейка одна и красная
0
2 / 2 / 1
Регистрация: 13.09.2019
Сообщений: 134
29.10.2019, 13:42  [ТС]
Python
1
2
3
4
#ранее таблица строилась:
print("<td style='background:Gainsboro; color:black; font-family: Georgia, Times New Roman, Times, serif;font-size:10pt'>%s</td>" % i)
#теперь, выводиться только один столбец красным цветом и заголовок таблицы, как написать чтобы сформировалась таблица?
print('''<td style="background:Gainsboro;color: black;background-color: {bg};font-family: Georgia, Times New Roman, Times, serif;font-size: 10pt">{text}</td>'''.format(bg=bg, text=i))
Добавлено через 17 минут
и еще значение в поле "Setting_kind_code" может то же отличаться, и если они не равны подсвечивать их то же красным.

Добавлено через 27 минут
сейчас выводит таблицу но все раскрашивает красным.

Добавлено через 2 часа 27 минут
Ребята, есть мысли как это победить?
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
29.10.2019, 15:27
Цитата Сообщение от Exle Посмотреть сообщение
сейчас выводит таблицу но все раскрашивает красным.
Добавлено через 2 часа 27 минут
Ребята, есть мысли как это победить?
А вы подумайте, посмотрите на код внимательно. Там кое-что вам самостоятельно сделать надо, Рыжий Лис предложил просто болванку.
0
2 / 2 / 1
Регистрация: 13.09.2019
Сообщений: 134
29.10.2019, 19:27  [ТС]
не совсем мне здесь понятен синтаксис

Добавлено через 2 часа 40 минут
здесь же у меня всегда тру 1==1 red если 1==0 то будет Green. Типа кортедж как обработать верно?

Добавлено через 1 час 12 минут
сверка происходит построково, а не между строками. Как мне сравнить и выделить нужные мне поля в этом случаи?
Если не сложно с примером.
0
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
29.10.2019, 19:29
Exle, поставьте в условие зависимость от содержимого строки. По-моему, это очевидно.
0
2 / 2 / 1
Регистрация: 13.09.2019
Сообщений: 134
30.10.2019, 08:02  [ТС]
а вы читали вообще последние сообщение? См. скриншот? Мне не надо выделять по строкам, мне по отдельным полям надо цветом выделять. Вот я и не знаю как это реализовать

Добавлено через 44 минуты
а так как у меня запрос с union то сравнить по отдельности по элементам два стенда я не могу,потому что это строка, какие варианты есть решения задачи?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.10.2019, 08:02
Помогаю со студенческими работами здесь

Изменить ширину ячеек одной таблицы, в зависимости от соответствующих ячеек в другой таблице
День добрый. Необходимо изменять ширину ячеек одной таблицы, в зависимости от соответствующих ячеек в другой таблице. Написал небольшую...

Перенести значения ячеек из одной таблицы в другую, в зависимости от содержания соседствующих с ними ячеек
Здравствуйте, в Экселе я нуб и саму проблему даже затрудняюсь толком описать на словах, так что посмотрите на картинку, пожалуйста. В...

Заливка ячеек таблицы в зависимости от данных другой таблицы
Добрый день! Возможно ли как-то реализовать заливку массива ячеек в зависимости от массива данных других ячеек. Например, даны две...

MSFlexGrid - раскрашивание ячеек по условию
Здравствуйте форумчане. Такой вопрос, как сделать, чтобы при загрузке формы данные в MSFlexGrid выделялись другим цветом, если срок...

MSFlexGrid - раскрашивание ячеек по условию
Добрый день! Есть сетка MsFlexGrid в ней данные из базы. Порядка 420.000 строк отображаются в ней при запросе из архива всех записей. Так...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru